Kerberos 令牌大小错误

Kerberos 令牌大小错误

我在使用 java 应用程序(我认为是在 linux 上)进行身份验证时遇到了问题,该应用程序托管在 Windows 2003 服务器上。java 服务器需要 Kerberos 身份验证,但目前失败了,因为请求是通过 NTLM 传入的。

我查看了 2003 服务器上的 Windows 事件查看器,发现有几条 Kerberos 6 消息,其中之一如下:

The kerberos SSPI package generated an output token of size 3318 bytes, which was too large to fit in the 32AC buffer provided by process id 0.  If the condition persists, please contact your system administrator

在找到一篇建议添加 MaxTokenSize 键来解决此问题的文章后,我还查看了注册表,看看是否有人错误地输入了一个较小的值,但那里什么也没有。

还有其他解释吗?为什么说仅仅 3000 字节就太大了。

顺便说一句,我检查了该用户的成员资格,它只属于域用户组。

答案1

该事件具有误导性,数字是十六进制的。

大小为 3318 字节的令牌

确实是 13080 字节。

在32AC缓冲器中

确实是 12972 字节 - 这与 Windows 2003 中配置的默认大小 12000 字节相当匹配。

这里欲了解更多信息 - 正如您所发现的,调整MaxTokenSize将完成工作;还可以考虑从某些组中删除帐户(需要很多成员才能变得那么大!)密切关注嵌套组成员身份,或更改组类型(域本地占用 40 个字节;全局仅占用 8 个)。

相关内容