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
Сигнатура, вычисленная ранее в сообщении для проверки.
Возвращаемое значение
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, хэши и подписи.