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

Definition

Überprüft, ob eine digitale Signatur gültig ist, indem der Hashwert in der Signatur unter Verwendung des bereitgestellten öffentlichen Schlüssels und durch Vergleichen mit dem Hashwert der bereitgestellten Daten.

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

Parameter

buffer
Byte[]

Die Daten, die signiert wurden.

halg
Object

Der Name des Hashalgorithmus, der zum Erstellen des Hashwerts der Daten verwendet wird.

signature
Byte[]

Die zu überprüfenden Signaturdaten.

Gibt zurück

true, wenn die Signatur gültig ist, andernfalls false.

Ausnahmen

Der halg-Parameter ist null.

Der halg-Parameter ist kein gültiger Typ.

Beispiele

Das folgende Beispiel zeigt, wie Sie die VerifyData -Methode verwenden, um eine Signatur zu überprüfen. Dieses Codebeispiel ist Teil eines größeren Beispiels für die SignHash -Methode.

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

Hinweise

Mit dieser Methode wird die RSA digitale Signatur überprüft, die von der SignData -Methode erstellt wird. Die Signatur wird überprüft, indem der Hashwert aus der Signatur mithilfe des öffentlichen Schlüssels abgerufen wird, mit dem sie signiert wurde, und dieser Wert mit dem Hashwert der bereitgestellten Daten verglichen wird.

Der halg -Parameter kann einen String, oder HashAlgorithmeinen Typeakzeptieren.

Gilt für:

Weitere Informationen