RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Sprawdza, czy podpis cyfrowy jest prawidłowy, określając wartość skrótu w podpisie przy użyciu podanego klucza publicznego i porównując go z wartością skrótu podanych danych.
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
Parametry
- buffer
- Byte[]
Dane, które zostały podpisane.
- halg
- Object
Nazwa algorytmu skrótu użytego do utworzenia wartości skrótu danych.
- signature
- Byte[]
Dane podpisu do zweryfikowania.
Zwraca
true
jeśli podpis jest prawidłowy; w przeciwnym razie , false
.
Wyjątki
Parametr halg
ma wartość null
.
Parametr halg
nie jest prawidłowym typem.
Przykłady
W poniższym przykładzie pokazano, jak użyć VerifyData metody w celu zweryfikowania podpisu. Ten przykład kodu jest częścią większego przykładu udostępnionego SignHash dla metody .
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
Uwagi
Ta metoda weryfikuje RSA podpis cyfrowy wygenerowany przez metodę SignData . Podpis jest weryfikowany przez uzyskanie wartości skrótu z podpisu przy użyciu klucza publicznego, z którego został podpisany, i porównanie tej wartości z wartością skrótu podanych danych.
Parametr halg
może akceptować Stringparametr , a HashAlgorithmlub Type.