共用方式為


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
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
用戶端與伺服器之間交涉的保護品質不包含 完整性 檢查。

備註

警告  

如果在不同版本的 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

另請參閱

MakeSignature

SSPI 函式

SecBuffer