如何将 SSL 证书集成到 /jre/security 文件夹中的 cacerts 文件?

How to integrate SSL certificates to the cacerts file in /jre/security folder?

最近我们的服务器升级到基于 SHA-256 的 SSL 证书。从那时起,我们将面临 javax.naming.CommunicationException 。为了解决这个问题,我需要 add/append 一组证书链到我们服务器路径 /usr/lib/jvm/jre/lib/security 下的 CACERTS 文件中。

我找到了 SO 的 link,它解释了通过程序实现此目的的步骤。谁能建议如何通过 linux 命令将这些证书链添加到 cacerts 文件中。

您应该使用 Java 发行版中的 keytool 实用程序,在您的情况下,它应该在 /usr/lib/jvm/bin 目录下。

keytool -importcert -file your_cert_file_here \
    -keystore /usr/lib/jvm/jre/lib/security/cacerts -storepass changeit

从 linux 命令提示符发出命令:

/usr/lib/jvm/jre/bin/keytool -import -alias <> -file <> -keystore cacerts

该命令使用 Java 密钥库工具将新证书文件导入现有的 cacerts 文件。 <> 是您想要调用证书的任何内容。 <> 是您要导入的实际文件。

如果系统提示您输入密码,则默认密钥库密码为 'changeit'。

对每个要添加的新证书文件重复此操作。