다음을 통해 공유


다이제스트 챌린지 응답에 대한 입력 버퍼

Microsoft Digest를 사용하는 HTTP 인증에는 챌린지 응답을 생성하려면 세 개의 입력 버퍼가 필요합니다. 다음 표에서는 이러한 버퍼를 요약합니다.

버퍼 번호 포함 버퍼 유형
0 서버에서 받은 챌린지 SECBUFFER_TOKEN
1 HTTP 메서드 SECBUFFER_PARAMS
2 H(엔터티) SECBUFFER_PARAMS
3 대상 서버의 SPN(서비스 사용자 이름)입니다. SECBUFFER_TARGET_HOST | SECBUFFER_READONLY
4 채널 바인딩 토큰 값 SECBUFFER_CHANNEL_BINDINGS | SECBUFFER_READONLY

 

버퍼 0에는 액세스 보호 리소스에 대한 초기 요청에 대한 응답으로 서버에서 받은 다이제스트 챌린지가 포함됩니다.

버퍼 1에는 "GET" 또는 "POST"와 같은 메서드의 문자열 표현이 포함됩니다. 이 메서드는 RFC 2617설명된 대로 A2 계산에 사용됩니다.

버퍼 2는 RFC 2617에 설명된 대로 메시지 엔터티 본문의 MD5 해시입니다.

버퍼 3에는 다이제스트가 채널 바인딩과 함께 사용될 때 대상 서버의 SPN이 UTF-8 형식으로 포함됩니다.

버퍼 4에는 다이제스트가 채널 바인딩과 함께 사용될 때 채널 바인딩 토큰 값이 포함됩니다.

SASL에 대한 입력 버퍼

버퍼 0만 제공합니다. 다른 SSP와의 호환성을 위해 유효한 서버 챌린지 없이 InitializeSecurityContext(다이제스트) 호출할 수 있습니다. 이 경우 pInput 매개 변수를 NULL 설정해야 합니다.