Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo RSACryptoServiceProvider.VerifyHash (Byte[], String, Byte[])

 

Data di pubblicazione: ottobre 2016

Verifica la validità di una firma digitale confrontando il valore hash della firma determinato tramite la chiave pubblica fornita con il valore hash fornito.

Spazio dei nomi:   System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

public bool VerifyHash(
	byte[] rgbHash,
	string str,
	byte[] rgbSignature
)

Parametri

rgbHash
Type: System.Byte[]

Valore hash dei dati firmati.

str
Type: System.String

Identificatore algoritmo hash (OID) usato per creare il valore hash dei dati.

rgbSignature
Type: System.Byte[]

Dati della firma da verificare.

Valore restituito

Type: System.Boolean

true se la firma è valida; in caso contrario, false.

Exception Condition
ArgumentNullException

Il valore del parametro rgbHash è null.

-oppure-

Il valore del parametro rgbSignature è null.

CryptographicException

Non è possibile acquisire il provider del servizio di crittografia (CSP).

-oppure-

Non è possibile verificare la firma.

This method verifies the T:System.Security.Cryptography.RSA digital signature produced by the M:System.Security.Cryptography.RSACryptoServiceProvider.SignHash(System.Byte[],System.String) method. 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.

The valid hash algorithms are T:System.Security.Cryptography.SHA1 and T:System.Security.Cryptography.MD5. The algorithm identifier can be derived from the hash name by using the M:System.Security.Cryptography.CryptoConfig.MapNameToOID(System.String) method.

The following example shows how to use the M:System.Security.Cryptography.RSACryptoServiceProvider.VerifyHash(System.Byte[],System.String,System.Byte[]) method to verify a signature. This code example is part of a larger example provided for the M:System.Security.Cryptography.RSACryptoServiceProvider.SignHash(System.Byte[],System.String) method.

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);
}

.NET Framework
Disponibile da 1.1
Windows Phone Silverlight
Disponibile da 7.1
Torna all'inizio
Mostra: