Поделиться через


CryptographicEngine.VerifySignature Метод

Определение

Проверяет подпись сообщения.

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

Параметры

key
CryptographicKey

Ключ, используемый для проверки. Это должен быть тот же ключ, который ранее использовался для подписи сообщения.

data
IBuffer

Проверяемое сообщение.

signature
IBuffer

Сигнатура, вычисленная ранее в сообщении для проверки.

Возвращаемое значение

Boolean

bool

Значение true , если сообщение проверено.

Примеры

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

Комментарии

Чтобы подписать содержимое, отправитель обычно создает хэш для сообщения, подписывает (шифрует) хэш, а затем отправляет как подпись, так и незашифрованное сообщение. Получатель использует тот же ключ и алгоритм для вычисления хэша сообщения, расшифровки подписи и сравнения расшифрованной сигнатуры с хэш-значением. Если они совпадают, получатель может быть уверен, что сообщение действительно было послано отправителем и не было изменено в процессе передачи. Дополнительные сведения см. в разделе MAC, хэши и подписи.

Применяется к