RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Проверяет, является ли цифровая подпись допустимой, определив хэш-значение в сигнатуре с помощью предоставленного открытого ключа и сравнивая его с хэш-значением предоставленных данных.
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);
member this.VerifyData : byte[] * obj * byte[] -> bool
override this.VerifyData : byte[] * obj * byte[] -> bool
Public Function VerifyData (buffer As Byte(), halg As Object, signature As Byte()) As Boolean
Параметры
- buffer
- Byte[]
Данные, которые были подписаны.
- halg
- Object
Имя хэш-алгоритма, используемого для создания хэш-значения данных.
- signature
- Byte[]
Проверяемые данные подписи.
Возвращаемое значение
true Значение , если подпись действительна; falseв противном случае .
Исключения
Параметр halg имеет значение null.
Параметр halg не является допустимым типом.
Примеры
В следующем примере показано, как использовать VerifyData метод для проверки подписи. Этот пример кода является частью более крупного примера, предоставленного SignHash для метода.
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
Комментарии
Этот метод проверяет цифровую RSA подпись, созданную методом SignData . Подпись проверяется путем получения хэш-значения из подписи с помощью открытого ключа, с которым он был подписан, и сравнивая это значение с хэш-значением предоставленных данных.
Параметр halg может принимать , a StringHashAlgorithmили a Type.