在我的krb5.conf文件中,出于测试目的,我已将票证生存期配置为10分钟(ticket_lifetime = 10m
)。当我从命令行kinit
,然后运行klist
时,我看到票证生存期是10分钟。然而,当我从Java代码登录时,我的krb5.conf文件中的票证生存期似乎被忽略了,并且使用了1天的默认生存期。我已经设置了-Dsun.security.krb5.debug=true
,可以看到我的自定义krb5.conf文件正在加载,但ticket_lifetime
似乎没有得到满足。这是Java Kerberos实现的限制,还是有其他方法可以从Java设置票证生存期?
这在任何当前发布的Java版本中都是不可能的。Java 9将遵守ticket_lifetime和renew_lifetime配置。此OpenJDK票证包含更多信息:https://bugs.openjdk.java.net/browse/JDK-8044500