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

Definice

Ověří, že digitální podpis je platný, a to tak, že určí hodnotu hash v podpisu pomocí zadaného veřejného klíče a porovná ho s hodnotou hash zadaných dat.

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[]

Data, která byla podepsána.

halg
Object

Název hashového algoritmu použitého k vytvoření hodnoty hash dat.

signature
Byte[]

Data podpisu, která se mají ověřit.

Návraty

Boolean

true je-li podpis platný; falsev opačném případě .

Výjimky

Parametr halg je null.

Parametr halg není platným typem.

Příklady

Následující příklad ukazuje, jak použít metodu VerifyData k ověření podpisu. Tento příklad kódu je součástí většího příkladu poskytnutého pro metodu SignHash .

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

Poznámky

Tato metoda ověří RSA digitální podpis vytvořený metodou SignData . Podpis je ověřen získáním hodnoty hash z podpisu pomocí veřejného klíče, se kterým byl podepsán, a porovnáním této hodnoty s hodnotou hash zadaných dat.

Parametr halg může přijmout Stringparametr , a HashAlgorithm, nebo Type.

Platí pro

Viz také