Функция 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.
Если функция определяет, что сообщение неверно в соответствии с информацией в сигнатуре, возвращаемое значение может быть одним из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
Сообщение не было получено в правильной последовательности. |
|
Сообщение изменено. |
|
Дескриптор контекста, заданный phContext , недопустим. |
|
pMessage не содержал допустимый буфер SECBUFFER_TOKEN или содержал слишком мало буферов. |
|
Качество защиты, согласованное между клиентом и сервером, не включало проверку целостности . |
Комментарии
Функция 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 |