다음을 통해 공유


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

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

버퍼 번호 포함 버퍼 유형
0 서버에서 받은 챌린지 SECBUFFER_TOKEN
1 HTTP 메서드 SECBUFFER_PARAMS
2 H(Entity) 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로 설정해야 합니다.