Share via


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

Definice

Ověří platnost digitálního podpisu tak, že určí hodnotu hash v podpisu pomocí poskytnutého veřejného klíče a porovná ji 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 hashovací algoritmu použitého k vytvoření hodnoty hash dat.

signature
Byte[]

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

Návraty

truepokud je podpis platný; v opačném případě . false

Výjimky

Parametr halg je null.

Parametr halg není platný typ.

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 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ěřuje RSA digitální podpis vytvořený metodou SignData . Podpis se ověřuje získáním hodnoty hash z podpisu pomocí veřejného klíče, kterým byl podepsán, a porovnáním této hodnoty s hodnotou hash zadaných dat.

Parametr halg může přijímat String, a HashAlgorithmnebo Type.

Platí pro

Viz také