RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) Metod

Definition

Verifierar att en digital signatur är giltig genom att fastställa hashvärdet i signaturen med hjälp av den angivna offentliga nyckeln och jämföra den med hashvärdet för de angivna data.

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);
member this.VerifyData : byte[] * obj * byte[] -> bool
override this.VerifyData : byte[] * obj * byte[] -> bool
Public Function VerifyData (buffer As Byte(), halg As Object, signature As Byte()) As Boolean

Parametrar

buffer
Byte[]

De data som signerades.

halg
Object

Namnet på hash-algoritmen som används för att skapa hash-värdet för data.

signature
Byte[]

Signaturdata som ska verifieras.

Returer

trueom signaturen är giltig. annars . false

Undantag

Parametern halg är null.

Parametern halg är inte en giltig typ.

Exempel

I följande exempel visas hur du använder VerifyData metoden för att verifiera en signatur. Det här kodexemplet är en del av ett större exempel för SignHash metoden.

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

Kommentarer

Den här metoden verifierar den RSA digitala signatur som skapas av SignData metoden. Signaturen verifieras genom att hash-värdet hämtas från signaturen med hjälp av den offentliga nyckel som den signerades med och jämför det värdet med hash-värdet för de angivna data.

Parametern halg kan acceptera en String, en HashAlgorithmeller en Type.

Gäller för

Se även