【发布时间】:2018-03-28 00:43:23
【问题描述】:
我正在开发一个检查 Kerberos KeyTab 文件是否有效的 Java 代码库,但它使用内部类 sun.security.krb5.internal.ktab.KeyTab 来实现其 isValid() 方法。目前,它正在执行以下操作:
File keytabFile = new File("/path/to/keytab");
KeyTab keytab = KeyTab.getInstance(keytabFile);
boolean keytabIsValid = keytab.isValid();
if (!keytabIsValid) {
throw new ApplicationSpecificException("Keytab is not valid");
}
在 Java 9 中访问这个方法比较麻烦,所以我正在寻找一种方法来避免使用这个内部类,但是浏览 JDK 源代码,我没有看到任何暴露 isValid() 方法的东西或非内部类中的等价物。
是否有不依赖于 hack 的选项,例如反射私有方法或访问内部 API?
【问题讨论】:
标签: java kerberos gssapi keytab