我有一个系统,其中.NET客户端使用Kerberos对Java服务器进行身份验证。一切正常,但我正在努力改进服务器配置。目前 C:\ 的根目录中需要 keytab 文件,因为我的 jaas.conf 如下所示:
Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
isInitiator=false
keyTab="///C:/keytab"
principal="XXX";
};
我试图让keyTab
属性成为相对路径,但我没有运气。我尝试了什么:
keyTab="///keytab"
keyTab="///./keytab"
keyTab="classpath:keytab"
所有这些都会导致异常,因此无法找到 keytab 文件。
我已经搜查了read the docs,并在我的头上撞了一下墙。任何人都可以揭示我需要做出的神奇咒语吗?
答案 0 :(得分:1)
请使用keyTab="keytab"
与示例类似:
http://docs.oracle.com/javase/6/docs/technotes/guides/security/jgss/lab/part1.html
答案 1 :(得分:0)
我也尝试将keytab与jaas.conf文件(位于conf文件夹中)放在同一文件夹中。不能执行keytab =“ keytab”。幸运的是,它使用与其他地方相同的配置变量,因此解决方案是设置:
keyTab="${catalina.base}/conf/keytab"