Partager via


RSACryptoServiceProvider.VerifyHash Méthode

Définition

Vérifie qu’une signature numérique est valide.

Surcharges

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.

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.

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

Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs

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.

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);
override this.VerifyHash : byte[] * string * byte[] -> bool
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.

str
String

Identificateur d’algorithme de hachage (OID) utilisé pour créer la valeur de hachage des données.

rgbSignature
Byte[]

Données de la signature à vérifier.

Retours

true si la signature est valide ; sinon, false.

Exceptions

Le paramètre rgbHash a la valeur null.

- ou -

Le paramètre rgbSignature a la valeur null.

Le fournisseur de services de chiffrement ne peut pas être acquis.

- ou -

La signature ne peut pas être vérifiée.

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 grand fourni pour la SignHash méthode.

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. 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 de l’algorithme peut être dérivé du nom de hachage à l’aide de la MapNameToOID méthode .

En raison de problèmes de collision avec SHA1 et MD5, Microsoft recommande un modèle de sécurité basé sur SHA256 ou supérieur.

Voir aussi

S’applique à

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

Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs
Source:
RSACryptoServiceProvider.Unix.cs

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.

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 la signature à vérifier.

hashAlgorithm
HashAlgorithmName

Nom de l’algorithme de hachage utilisé pour créer la valeur de hachage.

padding
RSASignaturePadding

Remplissage.

Retours

true si la signature est valide ; sinon, false.

Exceptions

hashAlgorithm est null ou Empty.

hash a la valeur null.

-ou-

padding a la valeur null.

padding n’est pas égal à Pkcs1.

S’applique à