다음을 통해 공유


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);
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

매개 변수

buffer
Byte[]

서명된 데이터입니다.

halg
Object

데이터의 해시 값을 만드는 데 사용하는 해시 알고리즘의 이름입니다.

signature
Byte[]

확인할 서명 데이터입니다.

반환

서명이 유효한 경우 true이고, 그러지 않으면 false입니다.

예외

halg 매개 변수가 null인 경우

halg 매개 변수의 형식이 잘못된 경우

예제

다음 예제에서는 메서드를 사용하여 VerifyData 서명을 확인하는 방법을 보여줍니다. 이 코드 예제는에 대해 제공 된 큰 예제의 일부는 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

설명

이 메서드는 메서드에서 RSA 생성된 SignData 디지털 서명을 확인합니다. 서명은 서명된 공개 키를 사용하여 서명에서 해시 값을 가져오고 해당 값을 제공된 데이터의 해시 값과 비교하여 확인됩니다.

매개 변수는 halg , 또는 를 HashAlgorithm수락StringType수 있습니다.

적용 대상

추가 정보