ダイジェスト チャレンジ応答の入力バッファー
Microsoft Digest を使用した HTTP 認証では、チャレンジ応答を生成するために 3 つの入力バッファーが必要です。 これらのバッファーの概要を次の表に示します。
バッファー番号 | 含む | バッファーの種類 |
---|---|---|
0 | サーバーから受け取ったチャレンジ | SECBUFFER_TOKEN |
1 | HTTP メソッド | SECBUFFER_PARAMS |
2 | H(エンティティ) | SECBUFFER_PARAMS |
3 | ターゲット サーバーの サービス プリンシパル名 (SPN) です。 | SECBUFFER_TARGET_HOST | SECBUFFER_READONLY |
4 | チャネル バインド トークンの値 | SECBUFFER_CHANNEL_BINDINGS | SECBUFFER_READONLY |
バッファー ゼロには、アクセスで保護されたリソースに対する最初の要求に応答してサーバーから受信したダイジェスト チャレンジが含まれます。
バッファー 1 には、メソッドの文字列表現 ("GET" や "POST" など) が含まれています。 この方法は、RFC 2617で説明されているように、A2 の計算で使用されます。
バッファー 2 は、RFC 2617 で説明されているように、メッセージのエンティティ本文の MD5 ハッシュです。
バッファー 3 には、ダイジェストをチャネル バインドと共に使用する場合の UTF-8 形式のターゲット サーバーの SPN が含まれます。
バッファー 4 には、Digest がチャネル バインドと共に使用される場合のチャネル バインド トークン値が含まれます。
SASL の入力バッファー
バッファー 0 のみを指定します。 他の SP との互換性を確保するために、InitializeSecurityContext (Digest) を有効なサーバー チャレンジなしで呼び出す場合があります。 この場合、pInput パラメーターを NULL 設定する必要があります。