2

我正在尝试在 Active Directory 客户端和服务上使用 GSS API 的示例凭据委派程序。在使用context.requestCredDeleg(true)时,当我检查时context.getCredDelegState(),它会在上下文建立之前在客户端返回 true。但是在上下文建立之后,当我检查中间服务器端的凭证委托状态时,它返回 false。

我为用户设置了“信任此用户以委托任何服务(仅限 Kerberos)”。此外,在 Active Directory 管理中心用户属性中未选中“帐户敏感且无法委派”字段。服务用户属性也同样如此。我在属于 kerberos 域的同一台计算机上同时运行客户端和服务器,对于该计算机属性,Active Directory 管理中心也允许委派。

我使用以下作为参考:客户端-服务器程序源:http ://docs.oracle.com/javase/1.4.2/docs/guide/security/jgss/tutorials/BasicClientServer.html

凭证委托文档:http ://docs.oracle.com/javase/1.4.2/docs/guide/security/jgss/tutorials/MoreToDo.html#DelCr

示例客户端-服务器工作正常,只是我无法进行凭据委派。

4

1 回答 1

2

我找到了解决方案(希望它能帮助面临同样问题的人):

在 krb5.ini 文件中,forwardable = true 应该在 [libdefaults] 部分而不是 [appdefaults] 中设置。

于 2013-01-29T09:26:26.227 回答