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
検証するメッセージと署名を含む一連の SecBuffer 構造体を参照する SecBufferDesc 構造体へのポインター。 シグネチャは、SECBUFFER_TOKEN型の SecBuffer 構造体にあります。
[in] MessageSeqNo
トランスポート アプリケーションで予期されるシーケンス番号 (存在する場合) を指定します。 トランスポート アプリケーションがシーケンス番号を保持しない場合、このパラメーターは 0 です。
[out] pfQOP
保護の品質を示すパッケージ固有のフラグを受け取る ULONG 変数へのポインター。
一部のセキュリティ パッケージでは、このパラメーターが無視されます。
戻り値
関数がメッセージが正しいシーケンスで受信され、変更されていないことを確認した場合、戻り値はSEC_E_OK。
シグネチャの情報に従ってメッセージが正しくないと関数が判断した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
メッセージが正しい順序で受信されませんでした。 |
|
メッセージが変更されました。 |
|
phContext で指定されたコンテキスト ハンドルが無効です。 |
|
pMessage に 有効なSECBUFFER_TOKEN バッファーが含まれていないか、バッファーが少なすぎます。 |
|
クライアントとサーバーの間でネゴシエートされた保護の品質には 、整合性 チェックは含まれていませんでした。 |
注釈
メッセージが別のバージョンの Windows で RsaSignPssSha512 アルゴリズムを使用して署名された場合、VerifySignature 関数は失敗します。 たとえば、Windows 8 で MakeSignature 関数を呼び出して署名されたメッセージは、Windows 8.1の VerifySignature 関数が失敗します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | sspi.h (Security.h を含む) |
Library | Secur32.lib |
[DLL] | Secur32.dll |