RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Verifica se uma assinatura digital é válida determinando o valor de hash na assinatura usando a chave pública fornecida e comparando-o com o valor de hash dos dados fornecidos.
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
Parâmetros
- buffer
- Byte[]
Os dados que foram assinados.
- halg
- Object
O nome do algoritmo de hash usado para criar o valor de hash dos dados.
- signature
- Byte[]
Os dados da assinatura a serem verificados.
Devoluções
true se a assinatura for válida; caso contrário, false.
Exceções
O halg parâmetro é null.
O halg parâmetro não é um tipo válido.
Exemplos
O exemplo seguinte mostra como usar o VerifyData método para verificar uma assinatura. Este exemplo de código faz parte de um exemplo maior fornecido para o SignHash método.
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
Observações
Este método verifica a RSA assinatura digital produzida pelo SignData método. A assinatura é verificada obtendo o valor de hash da assinatura usando a chave pública com que foi assinada, e comparando esse valor com o valor de hash dos dados fornecidos.
O halg parâmetro pode aceitar um String, um HashAlgorithm, ou um Type.