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_TOKEN 的 SecBuffer 結構中。
[in] MessageSeqNo
指定傳輸應用程式預期的序號,如果有的話。 如果傳輸應用程式未維護序號,則此參數為零。
[out] pfQOP
ULONG 變數的指標,該變數會接收指出保護品質的套件特定旗標。
某些安全性套件會忽略此參數。
傳回值
如果函式確認訊息是以正確的順序接收,而且尚未修改,傳回值就會SEC_E_OK。
如果函式根據簽章中的資訊判斷訊息不正確,傳回值可以是下列錯誤碼之一。
傳回碼 | Description |
---|---|
|
訊息未以正確的順序接收。 |
|
訊息已改變。 |
|
phContext 指定的內容句柄無效。 |
|
pMessage 未包含有效的SECBUFFER_TOKEN緩衝區,或包含太少的緩衝區。 |
|
用戶端與伺服器之間交涉的保護品質不包含 完整性 檢查。 |
備註
警告
如果在不同版本的 Windows 上使用 RsaSignPssSha512 演算法簽署訊息,VerifySignature 函式將會失敗。 例如,在 Windows 8 上呼叫 MakeSignature 函式所簽署的訊息,會導致 Windows 8.1 上的 VerifySignature 函式失敗。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | sspi.h (包含 Security.h) |
程式庫 | Secur32.lib |
Dll | Secur32.dll |