Aracılığıyla paylaş


RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) Yöntem

Tanım

Sağlanan ortak anahtarı kullanarak imzadaki karma değeri belirleyip sağlanan verilerin karma değeriyle karşılaştırarak dijital imzanın geçerli olduğunu doğrular.

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

Parametreler

buffer
Byte[]

İmzalanan veriler.

halg
Object

Verilerin karma değerini oluşturmak için kullanılan karma algoritmasının adı.

signature
Byte[]

Doğrulanacak imza verileri.

Döndürülenler

true imza geçerliyse; aksi takdirde , false.

Özel durumlar

halg parametresidirnull.

halg Parametre geçerli bir tür değil.

Örnekler

Aşağıdaki örnekte, bir imzayı doğrulamak için yönteminin VerifyData nasıl kullanılacağı gösterilmektedir. Bu kod örneği, yöntemi için SignHash sağlanan daha büyük bir örneğin parçasıdır.

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

Açıklamalar

Bu yöntem, yöntemi tarafından üretilen dijital imzayı SignData doğrularRSA. İmza, imzalandığı ortak anahtar kullanılarak imzadan karma değer alınarak ve bu değer sağlanan verilerin karma değeriyle karşılaştırılarak doğrulanır.

halg parametresi bir String, HashAlgorithmveya Typekabul edebilir.

Şunlara uygulanır

Ayrıca bkz.