Java中的可发布Kerberos票证

时间:2013-01-17 18:22:58

标签: java kerberos gssapi

我的Java应用程序中需要postdatable Kerberos ticket。但我在GSSContext界面中找不到任何方法。 Java不支持此Kerberos功能吗?

目的如下: 在我们的应用程序中,用户可以设置将在未来运行一段时间的批处理。并且,当原始票证可能已过期时,应用程序服务器必须使用在批处理执行时有效的委托票证。

编辑:澄清我的第一个声明:我发现GSSContextGSSContextImpl以及GSSContextImpl无权访问仅提供setAuthTime()方法在Krb5Context。在没有挖掘所有细节的情况下,似乎只有通过一些直接访问未记录的类才能进行过期认证。

由于似乎在让客户端浏览器发送带有正确标志的票证时存在其他问题 - 正如@ Michael-O指出的那样 - 我想我必须找到另一个解决方案,可能只是要求用户用户名和密码,保存它们使用批处理加密,然后只在批处理开始时请求新票证。

过期票的概念听起来适合我的问题,但似乎缺乏实际用途,导致现有环境不能很好地支持它。

1 个答案:

答案 0 :(得分:1)

除了我的评论:

  弗兰克,你真的读过RFC4120的第2.4章吗?客户端的TGT必须具有初始标志MAY-POSTDATE。请先检查一下。是的,Java GSS支持,但我自己没有尝试过。请参阅this搜索。

弗兰克,解决您问题的方法。昨天刚来找我。我已经回答了这个问题。向后移植此代码可能有点工作,但这是值得的。

请参阅Generating AD Kerberos tickets without user password