Kerberos报错
org.ietf.jgss.GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)
常见原因
如tgt缓存文件不存在,已过期,jdk版本过老等问题,这就不多说了。
隐晦的原因
JDK认为Kerberos使用的加密算法比较弱,不承认加密出来的密钥。例如在JDK1.8_351中,默认不支持DES相关的Kerberos 5加密算法。
但较低的、121版本就支持。
解决方法
- 可以降低jdk版本
- 也可以不禁用弱加密算法。
后者可以在krb5.conf配置文件中如下配置
...
[libdefaults]
allow_weak_crypto = true
...