我正在为在Lync(企业版Skype)服务器上进行授权的NTLM和NTLMv2协议的自定义实现工作。在阅读正式规范和http://davenport.sourceforge.net/ntlm.html时,我遇到了几个无法找到答案的问题。其中之一如下:
问题是关于NTLMv2响应(尤其是blob)。它说blob应该包含时间戳记
since January 1, 1601
。这个是来做什么的?如果服务器不知道我的本地时间,如何确保安全性。还是我应该使用服务器在类型2消息中提供的时间戳?
答案不完整,但我现在还没有更好
或者也许我应该使用服务器在类型2消息中提供的时间戳?
是。正如我上面的评论MS-NLMP]中链接的文档中所述
If NTLM v2 authentication is used, the client SHOULD send the timestamp in the
CHALLENGE_MESSAGE.<47>
If there exists a CHALLENGE_MESSAGE.TargetInfo.AvId ==
MsvAvTimestamp
Set Time to CHALLENGE_MESSAGE.TargetInfo.Value of that AVPair
Else
Set Time to Currenttime
Endif