在我的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设置票证生命周期?
答案 0 :(得分:2)
对于任何当前发布的Java版本,这是不可能的。 Java 9将遵循ticket_lifetime和renew_lifetime配置。此OpenJDK票证有更多信息:https://bugs.openjdk.java.net/browse/JDK-8044500