[原] HTTP Authorization Digest 方式以及XP映射网络驱动器的身份认证bug

HTTP Authorization Digest 方式具体是这样算的:
username:realm:password —md5—> a1md5
HttpMethod:Uri —md5—> a2md5
a1md5:nonce:nc:cnonce:qop:a2md5 —md5—> response
但是XP下映射网络驱动器的身份认证存在bug:username中它会带上域名
也就是:发送的username = domain.com\username
server端要fix这个bug,如果只是简单把username里的域名去掉是不行的。
因为response是根据带域名的username算出来的,直接去掉会导致response不匹配,无法通过认证。
而要这样解决:
计算response时保留带域名的username,但是根据username取password时又要去掉域名。

发表评论