RSACryptoServiceProvider.VerifyHash Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Vérifie qu’une signature numérique est valide.
Surcharges
| Nom | Description |
|---|---|
| VerifyHash(Byte[], String, Byte[]) |
Vérifie qu’une signature numérique est valide en déterminant la valeur de hachage dans la signature à l’aide de la clé publique fournie et en la comparant à la valeur de hachage fournie. |
| VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding) |
Vérifie qu’une signature numérique est valide en déterminant la valeur de hachage dans la signature à l’aide de l’algorithme de hachage et du remplissage spécifiés, et en la comparant à la valeur de hachage fournie. |
VerifyHash(Byte[], String, Byte[])
Vérifie qu’une signature numérique est valide en déterminant la valeur de hachage dans la signature à l’aide de la clé publique fournie et en la comparant à la valeur de hachage fournie.
public:
bool VerifyHash(cli::array <System::Byte> ^ rgbHash, System::String ^ str, cli::array <System::Byte> ^ rgbSignature);
public bool VerifyHash(byte[] rgbHash, string str, byte[] rgbSignature);
member this.VerifyHash : byte[] * string * byte[] -> bool
override this.VerifyHash : byte[] * string * byte[] -> bool
Public Function VerifyHash (rgbHash As Byte(), str As String, rgbSignature As Byte()) As Boolean
Paramètres
- rgbHash
- Byte[]
Valeur de hachage des données signées.
- str
- String
Identificateur d’algorithme de hachage (OID) utilisé pour créer la valeur de hachage des données.
- rgbSignature
- Byte[]
Données de signature à vérifier.
Retours
true si la signature est valide ; sinon, false.
Exceptions
Le fournisseur de services de chiffrement (CSP) ne peut pas être acquis.
-ou-
Impossible de vérifier la signature.
Exemples
L’exemple suivant montre comment utiliser la VerifyHash méthode pour vérifier une signature. Cet exemple de code fait partie d’un exemple plus large fourni pour la SignHash méthode.
public bool VerifyHash(RSAParameters rsaParams, byte[] signedData, byte[] signature)
{
RSACryptoServiceProvider rsaCSP = new RSACryptoServiceProvider();
SHA1Managed hash = new SHA1Managed();
byte[] hashedData;
rsaCSP.ImportParameters(rsaParams);
bool dataOK = rsaCSP.VerifyData(signedData, CryptoConfig.MapNameToOID("SHA1"), signature);
hashedData = hash.ComputeHash(signedData);
return rsaCSP.VerifyHash(hashedData, CryptoConfig.MapNameToOID("SHA1"), signature);
}
Public Function VerifyHash(ByVal rsaParams As RSAParameters, ByVal signedData() As Byte, ByVal signature() As Byte) As Boolean
Dim rsaCSP As New RSACryptoServiceProvider()
Dim hash As New SHA1Managed()
Dim hashedData() As Byte
Dim dataOK As Boolean
rsaCSP.ImportParameters(rsaParams)
dataOK = rsaCSP.VerifyData(signedData, CryptoConfig.MapNameToOID("SHA1"), signature)
hashedData = hash.ComputeHash(signedData)
Return rsaCSP.VerifyHash(hashedData, CryptoConfig.MapNameToOID("SHA1"), signature)
End Function 'VerifyHash
Remarques
Cette méthode vérifie la RSA signature numérique produite par la SignHash méthode. La signature est vérifiée en obtenant la valeur de hachage de la signature à l’aide de la clé publique avec laquelle elle a été signée et en comparant cette valeur à la valeur de hachage des données fournies.
Les algorithmes de hachage valides sont SHA1 et MD5. L’identificateur d’algorithme peut être dérivé du nom de hachage à l’aide de la MapNameToOID méthode.
En raison de problèmes de collision avec SHA-1 et MD5, Microsoft recommande un modèle de sécurité basé sur SHA-256 ou mieux.
Voir aussi
S’applique à
VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)
Vérifie qu’une signature numérique est valide en déterminant la valeur de hachage dans la signature à l’aide de l’algorithme de hachage et du remplissage spécifiés, et en la comparant à la valeur de hachage fournie.
public:
override bool VerifyHash(cli::array <System::Byte> ^ hash, cli::array <System::Byte> ^ signature, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, System::Security::Cryptography::RSASignaturePadding ^ padding);
public override bool VerifyHash(byte[] hash, byte[] signature, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
override this.VerifyHash : byte[] * byte[] * System.Security.Cryptography.HashAlgorithmName * System.Security.Cryptography.RSASignaturePadding -> bool
Public Overrides Function VerifyHash (hash As Byte(), signature As Byte(), hashAlgorithm As HashAlgorithmName, padding As RSASignaturePadding) As Boolean
Paramètres
- hash
- Byte[]
Valeur de hachage des données signées.
- signature
- Byte[]
Données de signature à vérifier.
- hashAlgorithm
- HashAlgorithmName
Nom de l’algorithme de hachage utilisé pour créer la valeur de hachage.
- padding
- RSASignaturePadding
Le remplissage.
Retours
true si la signature est valide ; sinon, false.
Exceptions
hashAlgorithm est null ou Empty.
padding n’est pas égal Pkcs1à .