, I'am 현재 RFC에 따라 참조 용 2831 예를 서버에서은 DIGEST MD5 도전에 대한 클라이언트 응답 응답 필드를 생성하는 방법 세대
도전 rfc 2831를 사용하여 MD5 응답은 다이제스트 :
realm="elwood.innosoft.com",nonce="OA6MG9tEQGm2hh",qop="auth",
algorithm=md5-sess,charset=utf-8
응답 RFC 2831 예에 따라 클라이언트에서 :
charset=utf-8,username="chris",realm="elwood.innosoft.com",
nonce="OA6MG9tEQGm2hh",nc=00000001,cnonce="OA6MHXh6VqTrRk",
digest-uri="imap/elwood.innosoft.com",
response=d388dad90d4bbd760a152321f2143af7,qop=auth
collecte 수 D 자세한 사항은 다음과 같습니다
- 이름 = 크리스
- 비밀 번호 = 비밀
- 넌스 = OA6MG9tEQGm2hh
- NC-값 = 00000001
- cnonce = OA6MHXh6VqTrRk
- QOP = 인증
- 영역 = elwood.innosoft.com
- digesturi = imap/elwood.innosoft.com ,210
응답 난 생성은 RFC 페이지에서 RFC 2831 예제에서 19 개
제형 따르지 않는 2,831
[H (S) 일 16 옥텟 MD5 해시하자 RFC 1321]에 기술되어있다. K30 (k, ":", s)), 즉 스트링 k의 16 옥텟 해시, 콜론 및 문자열 s가되도록한다.
Hex (n)은 16 진수 MD5 해시 n을 32 진수 문자열로 표현합니다 (MD5는 대소 문자를 구분하므로 알파벳 문자는 항상 소문자로 표시).
현재의 i'am하여 다음 절차 :
A1 = {H (크리스 : elwood.innosoft.com : 비밀) ":", 논스 값, ":", cnonce 값 }
A1 = {eb5a750053e4d2c34aa84bbc9b0b6ee7 : OA6MG9tEQGm2hh : OA6MHXh6VqTrRk}
A2 = { "AUTHENTICATE"다이제스트-URI 값} 2 = {AUTHENTICATE : imap/elwood.innosoft.COM}
H (A1) = 54442ff1f394d9d0de1205cef4d9cebe
HEX (H (A1)) = 54442ff1f394d9d0de1205cef4d9cebe
HEX (H (A2)) = 15e3594677e51ade69715d1cb7d207ba
RESPONSE = HEX (KD (HEX (A1)), {nonce-value, ":"nc-value ",", cnonce-value ",", qop-value, ":", HEX (H (A2)}}))
응답 = 16 진수 (KD (54442ff1f394d9d0de1205cef4 d9cebe : OA6MG9tEQGm2hh : 00000001 : OA6MHXh6VqTrRk : 인증 : 15e3594677e51ade69715d1cb7d207ba)) 위의 절차에 따라
응답이다
26ef1190b643a36e879673066098379c
하지만 RFC 따라 응답 값은 다음
d388dad90d4bbd760a152321f2143af7
따라서 위에서 생성 된 응답은 rfc의 예에서 생성 된 응답과 다릅니다.
어떤 변경을 수행해야합니까?