RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.