Функция VerifySignature (sspi.h)

Проверяет, что сообщение, подписанное с помощью функции MakeSignature , было получено в правильной последовательности и не было ли изменено.

Синтаксис

KSECDDDECLSPEC SECURITY_STATUS SEC_ENTRY VerifySignature(
  [in]  PCtxtHandle    phContext,
  [in]  PSecBufferDesc pMessage,
  [in]  unsigned long  MessageSeqNo,
  [out] unsigned long  *pfQOP
);

Параметры

[in] phContext

Дескриптор контекста безопасности , используемый для сообщения.

[in] pMessage

Указатель на структуру SecBufferDesc , которая ссылается на набор структур SecBuffer , содержащих сообщение и подпись для проверки. Сигнатура находится в структуре SecBuffer типа SECBUFFER_TOKEN.

[in] MessageSeqNo

Указывает порядковый номер, ожидаемый транспортным приложением, если таковой есть. Если транспортное приложение не поддерживает порядковые номера, этот параметр равен нулю.

[out] pfQOP

Указатель на переменную ULONG , которая получает флаги, относящиеся к пакету, которые указывают на качество защиты.

Некоторые пакеты безопасности игнорируют этот параметр.

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

Если функция проверяет, что сообщение получено в правильной последовательности и не было изменено, возвращаемое значение будет SEC_E_OK.

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

Код возврата Описание
SEC_E_OUT_OF_SEQUENCE
Сообщение не было получено в правильной последовательности.
SEC_E_MESSAGE_ALTERED
Сообщение изменено.
SEC_E_INVALID_HANDLE
Дескриптор контекста, заданный phContext , недопустим.
SEC_E_INVALID_TOKEN
pMessage не содержал допустимый буфер SECBUFFER_TOKEN или содержал слишком мало буферов.
SEC_E_QOP_NOT_SUPPORTED
Качество защиты, согласованное между клиентом и сервером, не включало проверку целостности .

Комментарии

Предупреждение  

Функция VerifySignature завершится ошибкой, если сообщение было подписано с помощью алгоритма RsaSignPssSha512 в другой версии Windows. Например, сообщение, подписанное вызовом функции MakeSignature в Windows 8, приведет к сбою функции VerifySignature на Windows 8.1.

 

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header sspi.h (включая Security.h)
Библиотека Secur32.lib
DLL Secur32.dll

См. также раздел

MakeSignature

Функции SSPI

SecBuffer