RSACryptoServiceProvider.VerifyHash RSACryptoServiceProvider.VerifyHash RSACryptoServiceProvider.VerifyHash RSACryptoServiceProvider.VerifyHash Method

Définition

Vérifie qu’une signature numérique est valide.Verifies that a digital signature is valid.

Surcharges

VerifyHash(Byte[], String, Byte[]) VerifyHash(Byte[], String, Byte[]) VerifyHash(Byte[], String, Byte[]) VerifyHash(Byte[], String, Byte[])

Vérifie qu'une signature numérique est valide en déterminant la valeur de hachage dans la signature en utilisant la clé publique fournie et en la comparant à la valeur de hachage fournie.Verifies that a digital signature is valid by determining the hash value in the signature using the provided public key and comparing it to the provided hash value.

VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding) VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding) VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding) VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Vérifie qu’une signature numérique est valide en déterminant la valeur de hachage dans la signature en utilisant l’algorithme de hachage et le remplissage spécifiés, et en la comparant à la valeur de hachage fournie.Verifies that a digital signature is valid by determining the hash value in the signature using the specified hashing algorithm and padding, and comparing it to the provided hash value.

VerifyHash(Byte[], String, Byte[]) VerifyHash(Byte[], String, Byte[]) VerifyHash(Byte[], String, Byte[]) VerifyHash(Byte[], String, Byte[])

Vérifie qu'une signature numérique est valide en déterminant la valeur de hachage dans la signature en utilisant la clé publique fournie et en la comparant à la valeur de hachage fournie.Verifies that a digital signature is valid by determining the hash value in the signature using the provided public key and comparing it to the provided hash value.

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
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.The hash value of the signed data.

str
String String String String

Identificateur d'algorithme de hachage (OID) utilisé pour créer la valeur de hachage des données.The hash algorithm identifier (OID) used to create the hash value of the data.

rgbSignature
Byte[]

Données de la signature à vérifier.The signature data to be verified.

Retours

true si la signature est valide ; sinon, false.true if the signature is valid; otherwise, false.

Exceptions

Le paramètre rgbHash a la valeur null.The rgbHash parameter is null.

- ou --or- Le paramètre rgbSignature a la valeur null.The rgbSignature parameter is null.

Le fournisseur de services de chiffrement ne peut pas être acquis.The cryptographic service provider (CSP) cannot be acquired.

- ou --or-

Impossible de vérifier la signature.The signature cannot be verified.

Exemples

L’exemple suivant montre comment utiliser la VerifyHash méthode pour vérifier une signature.The following example shows how to use the VerifyHash method to verify a signature. Cet exemple de code fait partie d’un exemple plus complet fourni SignHash pour la méthode.This code example is part of a larger example provided for the SignHash method.

bool VerifyHash( RSAParameters rsaParams, array<Byte>^signedData, array<Byte>^signature )
{
   RSACryptoServiceProvider^ rsaCSP = gcnew RSACryptoServiceProvider;
   SHA1Managed^ hash = gcnew SHA1Managed;
   array<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 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.This method verifies the RSA digital signature produced by the SignHash method. 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.The signature is verified by obtaining the hash value from the signature using the public key it was signed with, and comparing that value to the hash value of the provided data.

Les algorithmes de hachage valides MD5sont SHA1 et.The valid hash algorithms are SHA1 and MD5. L’identificateur d’algorithme peut être dérivé du nom de hachage à l' MapNameToOID aide de la méthode.The algorithm identifier can be derived from the hash name by using the MapNameToOID method.

En raison de problèmes de collision avec SHA1 et MD5, Microsoft recommande un modèle de sécurité basé sur SHA256 ou une meilleure solution.Due to collision problems with SHA1 and MD5, Microsoft recommends a security model based on SHA256 or better.

Voir aussi

VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding) VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding) VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding) VerifyHash(Byte[], Byte[], HashAlgorithmName, RSASignaturePadding)

Vérifie qu’une signature numérique est valide en déterminant la valeur de hachage dans la signature en utilisant l’algorithme de hachage et le remplissage spécifiés, et en la comparant à la valeur de hachage fournie.Verifies that a digital signature is valid by determining the hash value in the signature using the specified hashing algorithm and padding, and comparing it to the provided hash value.

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.The hash value of the signed data.

signature
Byte[]

Données de la signature à vérifier.The signature data to be verified.

hashAlgorithm
HashAlgorithmName HashAlgorithmName HashAlgorithmName HashAlgorithmName

Nom de l’algorithme de hachage utilisé pour créer la valeur de hachage.The hash algorithm name used to create the hash value.

Retours

true si la signature est valide ; sinon, false.true if the signature is valid; otherwise, false.

Exceptions

hashAlgorithm a la valeur null ou Empty.hashAlgorithm is null or Empty.

hash a la valeur null.hash is null.

- ou --or- padding est null.padding is null.

S’applique à