Share via


CryptographicEngine.VerifySignature Método

Definição

Verifica uma assinatura de mensagem.

public:
 static bool VerifySignature(CryptographicKey ^ key, IBuffer ^ data, IBuffer ^ signature);
 static bool VerifySignature(CryptographicKey const& key, IBuffer const& data, IBuffer const& signature);
public static bool VerifySignature(CryptographicKey key, IBuffer data, IBuffer signature);
function verifySignature(key, data, signature)
Public Shared Function VerifySignature (key As CryptographicKey, data As IBuffer, signature As IBuffer) As Boolean

Parâmetros

key
CryptographicKey

Chave usada para verificação. Essa deve ser a mesma chave usada anteriormente para assinar a mensagem.

data
IBuffer

Mensagem a ser verificada.

signature
IBuffer

Assinatura computada anteriormente sobre a mensagem a ser verificada.

Retornos

Boolean

bool

true se a mensagem for verificada.

Exemplos

public void SampleVerifyHMAC(
    IBuffer buffMsg,
    CryptographicKey hmacKey,
    IBuffer buffHMAC)
{
    // The input key must be securely shared between the sender of the HMAC and 
    // the recipient. The recipient uses the CryptographicEngine.VerifySignature() 
    // method as follows to verify that the message has not been altered in transit.
    Boolean IsAuthenticated = CryptographicEngine.VerifySignature(hmacKey, buffMsg, buffHMAC);
    if (!IsAuthenticated)
    {
        throw new Exception("The message cannot be verified.");
    }
}

Comentários

Para assinar conteúdo, o remetente normalmente cria um hash sobre a mensagem, assina (criptografa) o hash e envia a assinatura e a mensagem não criptografada. O destinatário usa a mesma chave e algoritmo para calcular um hash sobre a mensagem, descriptografa a assinatura e compara a assinatura descriptografada com o valor de hash. Se eles combinarem, o destinatário pode estar quase certo de que a mensagem está correta, de fato, veio do remetente e não foi alterada durante a transmissão. Para obter mais informações, consulte MACs, hashes e assinaturas.

Aplica-se a