摘要质询响应的输入缓冲区

使用 Microsoft Digest 的 HTTP 身份验证需要三个输入缓冲区才能生成质询响应。 下表汇总了这些缓冲区。

缓冲区编号 包含 缓冲区类型
0 从服务器收到的质询 SECBUFFER_TOKEN
1 HTTP 方法 SECBUFFER_PARAMS
2 H (实体) SECBUFFER_PARAMS
3 服务主体名称 (目标服务器的 SPN) 。 | SECBUFFER_TARGET_HOSTSECBUFFER_READONLY
4 通道绑定令牌值 | SECBUFFER_CHANNEL_BINDINGSSECBUFFER_READONLY

 

缓冲区零包含从服务器收到的摘要质询,以响应对访问保护资源的初始请求。

缓冲区 1 包含 方法的字符串表示形式,例如“GET”或“POST”。 方法用于 A2 的计算,如 RFC 2617 中所述。

缓冲区 2 是消息实体正文的 MD5 哈希,如 RFC 2617 中所述。

当 Digest 与通道绑定一起使用时,缓冲区 3 以 UTF-8 格式包含目标服务器的 SPN。

当 Digest 与通道绑定一起使用时,缓冲区 4 包含通道绑定令牌值。

SASL 的输入缓冲区

仅提供缓冲区零。 为了与其他 SSP 兼容,可以在没有有效的服务器质询的情况下调用 InitializeSecurityContext (Digest) 。 在这种情况下, pInput 参数应设置为 NULL