ホーム › Security.Authentication.Identity › SpSealMessageFn
SpSealMessageFn
コールバックシグネチャ
NTSTATUS SpSealMessageFn(
UINT_PTR ContextHandle,
DWORD QualityOfProtection,
SecBufferDesc* MessageBuffers,
DWORD MessageSequenceNumber
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| ContextHandle | UINT_PTR | メッセージの署名に使用する セキュリティコンテキスト のハンドル。 |
| QualityOfProtection | DWORD | 保護の品質を示す、パッケージ固有のフラグを指定します。SSP/AP は、このパラメーターを使用して暗号アルゴリズムの選択をサポートできます。 |
| MessageBuffers | SecBufferDesc* | メッセージバッファーを格納する SecBufferDesc 構造体へのポインター。これらのメッセージバッファーのうち SECBUFFER_DATA 型にできるのは 1 つだけであり、そのバッファーには暗号化するメッセージが格納されます。暗号化はその場で行われるため、このバッファーに SECBUFFER_READONLY 属性を設定することはできません。 |
| MessageSequenceNumber | DWORD | メッセージに割り当てるシーケンス番号。シーケンス番号は省略可能であり、メッセージの消失や挿入に対する保護として使用されます。値が 0 の場合は、シーケンス番号を使用しないことを示します。 |
公式ドキュメント
クライアントとサーバーの間で交換されるメッセージを暗号化します。
SpSealMessage 関数は、 Security Support Provider Interface の EncryptMessage (General) 関数のディスパッチ関数です。
戻り値
関数が成功した場合は、STATUS_SUCCESS を返します。
関数が失敗した場合は、失敗した理由を示す NTSTATUS コードを返します。次の表に、一般的な失敗の理由と、関数が返すべきエラーコードを示します。
| 戻り値 | 説明 |
|---|---|
| コンテキストが見つからなかったか、メッセージの整合性用に構成されていませんでした。 | |
| 署名バッファーが見つからなかったか、小さすぎました。 |
解説(Remarks)
送信側が SpSealMessage 関数を使用して暗号化したメッセージは、 SpUnsealMessage 関数を使用して復号します。
SSP/AP は SpSealMessage 関数を実装する必要がありますが、実装に付ける実際の名前は開発者が決定します。
SpSealMessage 関数へのポインターは、 SpUserModeInitialize 関数から受け取る SECPKG_USER_FUNCTION_TABLE 構造体で入手できます。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)