CryptographicEngine.VerifySignature Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.