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.

Применяется к

См. также раздел