1

我需要在我的 Java 应用程序中使用可发布日期的Kerberos 票证。但是我没有在GSSContext界面中找到任何方法。Java 不支持此 Kerberos 功能吗?

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

编辑:澄清我的第一个陈述:我发现GSSContext,GSSContextImpl以及GSSContextImpl不允许访问setAuthTime()仅在Krb5Context. 在没有深入研究所有细节的情况下,似乎只能通过对未记录类的某些直接访问来实现后验身份验证。

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

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

4

1 回答 1

1

除了我的评论:

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

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

请参阅在没有用户密码的情况下生成 AD Kerberos 票证

于 2013-01-20T12:31:51.013 回答