6

我正在 Windows 2008R2 机器上实现 CAS 服务器。一切都运行得很完美,但是只有当我将我的 keytab 文件放在 C: 中时。我的 login.conf 目前看起来像这样:

jcifs.spnego.initiate {
   com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\spn-account.keytab";
};
jcifs.spnego.accept {
   com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\spn-account.keytab";

我想将 keytab 文件的位置更改为我的 Tomcat 目录。我尝试了以下方法(包括移动 keytab 文件本身),但它们都不起作用:

jcifs.spnego.initiate {
   com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\Program%20Files\spn-account.keytab";
};
jcifs.spnego.accept {
   com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\Program%20Files\Tomcat\spn-account.keytab";

jcifs.spnego.initiate {
   com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\Progra~1\Tomcat\spn-account.keytab";
};
jcifs.spnego.accept {
   com.sun.security.auth.module.Krb5LoginModule required storeKey=true useKeyTab=true keyTab="file:///C:\Progra~1\Tomcat\spn-account.keytab";

有谁知道如何将 keytab 文件位置更改为我的 Tomcat 目录?

4

1 回答 1

1

尝试对 keyTab 使用 java 风格的路径。使用正斜杠而不是反斜杠;如果您必须使用反斜杠,则需要对它们进行双双转义(任何时候需要四个反斜杠),以便可以将它们读入 Properties 中,然后从中创建 URI。

于 2014-02-22T10:50:13.137 回答