Partager via


RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) Méthode

Définition

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 des données fournies.

public:
 bool VerifyData(cli::array <System::Byte> ^ buffer, System::Object ^ halg, cli::array <System::Byte> ^ signature);
public bool VerifyData (byte[] buffer, object halg, byte[] signature);
override this.VerifyData : byte[] * obj * byte[] -> bool
member this.VerifyData : byte[] * obj * byte[] -> bool
Public Function VerifyData (buffer As Byte(), halg As Object, signature As Byte()) As Boolean

Paramètres

buffer
Byte[]

les données qui ont été signées ;

halg
Object

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

signature
Byte[]

Données de la signature à vérifier.

Retours

true si la signature est valide ; sinon, false.

Exceptions

Le paramètre halg a la valeur null.

Le paramètre halg n’est pas un type valide.

Exemples

L’exemple suivant montre comment utiliser la VerifyData 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 SignData 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.

Le halg paramètre peut accepter un String, un HashAlgorithmou un Type.

S’applique à

Voir aussi