【发布时间】:2013-08-16 23:03:53
【问题描述】:
我有一个与 Kerberos 服务器通信并执行各种操作的 Java API。截至目前,我的 API 请求到 Kerberos 服务器的不可更新票证。据我了解,jaas 配置文件具有将 renewTGT 选项设置为 true 的选项,以便可以签发可更新票证。但是,Jaas 似乎对设置“renewUntil”时间有很多限制。谁能告诉我我们如何申请可更新票并控制其可更新性?基本上,有没有一种方法可以执行与 Java 等效的操作: kinit -R ?提前致谢。
【问题讨论】:
-
实际上,
renewTGT应该可以。为什么不启用日志记录并使用 Wirshark 来查看 Java 的真正作用? -
谢谢迈克尔。我确实启用了日志记录,并尝试使用wireshark捕获请求/响应。即使将 renewTGT 设置为 true,所请求的票证也是不可更新的票证。是否需要进行其他配置?
-
这可能是您的 KDC 中的设置。询问您的管理员。
-
截至 JDK7 (1.7.0_55)
renewTGT仅在useTicketCache=true时可用,然后仅适用于从(本机)票证缓存中获取的票证。这意味着您使用了类似kinit或Windows 登录来获取票证,并且相当于kinit -R。根据我在下面的回答,目前无法获得可更新的票证并使用 JAAS 获得的票证续签。