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