6

我有一个系统,其中 .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文件。

我已经搜索并阅读了文档,并将我的头撞到了墙上。任何人都可以透露我需要的魔法咒语来实现这一点吗?

4

2 回答 2

1

请使用keyTab="keytab" 类似于示例: http ://docs.oracle.com/javase/6/docs/technotes/guides/security/jgss/lab/part1.html

于 2013-06-16T06:23:21.483 回答
0

我也尝试将 keytab 放在与 jaas.conf 文件相同的文件夹中(在 conf 文件夹中)。做 keytab="keytab" 是行不通的。幸运的是,它使用了与其他地方相同的配置变量,因此解决方案是设置:

keyTab="${catalina.base}/conf/keytab"
于 2020-11-23T22:11:29.253 回答