java的cacerts格式应为哪种格式?

dso*_*len 6 java ssl pki

我对cacerts格式有些困惑。我最近使用的应用程序必须升级其cacerts文件。最初的cacerts文件为pk12格式(我认为是二进制文件),而新格式显然是pem。我可以使用任一个cacert,但是当我建议有人在身份验证升级到新的cacert时遇到问题时,他会抱怨,因为它不是pk12格式。

cacert应该是哪种文件格式?可以是任何一种格式吗?是否可以配置/定义应该使用的格式?

Maa*_*wes 5

在任何常规的Oracle Java安装中,cacerts应为专有的二进制JKS密钥存储类型。如果您有不同的东西,则可能具有不同的JRE或cacerts文件被替换。

您可以cacerts使用keytoolJDK随附的命令来管理内容。

我已经针对1.8.0_20进行了检查;确保可以file cacerts在Ubuntu上使用。

请注意,用于客户端身份验证的密钥库通常 PKCS#12密钥库,因此可能会使两者混淆。

  • 根据JSR,Java 9将默认转换为PKCS#12密钥存储。但是,在我的系统上,当前的开发版本从4月初开始(仍然吗?)使用Java密钥存储区来存储“证书”。 (2认同)

PBS*_*uvr 5

也许这可能会帮助其他人进行类似的搜索:我试图找到 Java 运行时环境的受信任证书颁发机构的默认列表,因为我们想将 SSL 证书安装到 Tomcat 中。最后不得不从谷歌搜索中删除甲骨文网站,并找到了这个方法来解析列表的二进制文件。祝您在 Oracle.com 上找到它好运!

http://www.herongyang.com/PKI/HTTPS-Java-Default-Trusted-KeyStore-File-cacerts.html

<java jre directory>\bin\keytool -list -keystore cacerts -storepass changeit
Run Code Online (Sandbox Code Playgroud)

或者,您可以通过在检查 java 控制面板 - 安全 - 证书时单击“系统”选项卡来完成此操作