7

我们一直使用 java 标准密钥库 ( $JAVA_HOME/jre/lib/security/cacerts) 作为 tomcat 的可信存储。该tomcat服务器将与其他一些服务器通信。最近的 OS(AIX) 升级显然覆盖了文件$JAVA_HOME/jre/lib/security/cacerts,导致证书丢失和托管在 tomcat 中的应用程序出现很多问题。

看看这是不是在 $JAVA_HOME/jre/lib/security/cacerts 上中继是一种不好的做法?解决这种情况的替代(更好|标准)方法是什么?

4

5 回答 5

5

如果您有一个重复导入的构建过程,这不是一个坏习惯。

于 2011-10-25T23:13:28.050 回答
2

不确定,但假设您的假设是正确的,请谨慎放置密钥库。我强烈建议将它放在 Apache 文件夹中。

默认情况下,在 Websphere 中,密钥库以这种方式工作,因为它带来了自己的 JVM :)

于 2011-10-25T20:31:29.480 回答
1

cacerts文件中的内容而言,这不一定比依赖安装在您的操作系统或浏览器中的默认 CA 证书更糟糕,但这并不意味着它很好。

Sun/Oracle 在JSSE 参考指南中间的某处有一点“重要说明” :

重要说明:JDK 在 /lib/security/cacerts 文件中附带了数量有限的受信任根证书。如 keytool 中所述,如果您将此文件用作信任库,则您有责任维护(即添加/删除)此文件中包含的证书。

根据您联系的服务器的证书配置,您可能需要添加额外的根证书。从适当的供应商处获取所需的特定根证书。

在配置方面,对于必须安装“本地”CA 证书的特定应用程序,我发现使用本地信任存储(例如,用 指定javax.net.ssl.trustStore)更稳定。

于 2012-01-18T02:32:57.233 回答
0

是的,这样做是一种不好的做法。

最佳实践是必须尽可能多地限制您的受信任证书。
因此,您应该使用自己的密钥库,其中仅包含应用程序信任的证书。

于 2011-10-28T20:05:40.727 回答
0

AIX 升级是一个补丁。任何补丁都不得删除/覆盖用户数据。我建议受这种数据丢失影响的用户要求 IBM 修复补丁程序。相比之下,httpd 服务器的补丁不会覆盖/删除配置,即使它在程序目录中。

于 2016-02-21T23:09:00.990 回答