Freigeben über


CryptographicEngine.VerifySignature Methode

Definition

Überprüft eine Nachrichtensignatur.

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

Parameter

key
CryptographicKey

Schlüssel, der für die Überprüfung verwendet wird. Dies muss derselbe Schlüssel sein, der zuvor zum Signieren der Nachricht verwendet wurde.

data
IBuffer

Zu überprüfende Nachricht.

signature
IBuffer

Signatur, die zuvor über die zu überprüfende Nachricht berechnet wurde.

Gibt zurück

Boolean

bool

TRUE , wenn die Nachricht überprüft wird.

Beispiele

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.");
    }
}

Hinweise

Zum Signieren von Inhalten erstellt der Absender in der Regel einen Hash über die Nachricht, signiert (verschlüsselt) den Hash und sendet dann sowohl die Signatur als auch die unverschlüsselte Nachricht. Der Empfänger verwendet denselben Schlüssel und Algorithmus, um einen Hash über die Nachricht zu berechnen, entschlüsselt die Signatur und vergleicht die entschlüsselte Signatur mit dem Hashwert. Stimmen sie überein, kann der Empfänger relativ sicher sein, dass die Nachricht tatsächlich vom Absender stammt und während der Übertragung nicht manipuliert wurde. Weitere Informationen finden Sie unter MACs, Hashes und Signaturen.

Gilt für: