我们正在为客户的 Web 应用程序配置 SSO,但不幸的是,我们无权访问域控制器(我们不做更多实验来检查我们的假设的另一个原因)。因此,我们要求运行ktpass.exe
并准备.ktpass
文件以用于我们的服务器配置。
我们面临的问题是“指定版本的密钥不可用”。
我查看了 keytab 文件 (knvo = 5),并在我们的 Web 服务器上使用 Wireshark 检查了流量:
如您所见,AP-REQ
票证中的 kvno = 1。我想这是检查 kvno 版本的正确票。
我知道 Windows 2000 域存在兼容性问题(/kvno 1
必须用于 Windows 2000 域兼容性),但据说我们处理的是 Windows 2008R2 服务器(我可以看到值msDS-Behavior-Version = 4
与 2008R2 匹配的域控制器的值!)。
有没有像我们面临的 W2K 域模式之类的东西?
明确的 kvno=1 有助于解决问题吗?IE,ktpass.exe [..] /kvno 1
编辑#1
问题是关于错误指定的 SPN。它是 HTTP/computer_name@DOMAIN.COM,而不是使用完全限定的域名。这仅在启用 WINS 时才有效,但事实证明并非如此。
使用正确的 SPN 生成 keytab 后,一切正常,并且根据实际帐户值发送 kvno。
请接受解释我观察到的效果的答案。