Java 中包含哪些受信任的根证书?

Pet*_*aný 42 java certificate

Java 中包含哪些受信任的根证书,特别是 Sun Java 和 IBM Java?我怎样才能自己获得清单?Windows 上的 Java 是否使用操作系统的证书?

小智 38

转到“Java 控制面板”,“安全”选项卡,然后单击“证书”。转到“系统”选项卡,然后从下拉列表中选择“安全 CA”或“安全站点 CA”。

IIRC,证书存储在 .java 格式的 Java 序列化文件中jre/lib/security/cacerts。这是一个标准的 Java 密钥库,可以使用 keytool 实用程序进行操作:

keytool -keystore "$JAVA_HOME\jre\lib\security\cacerts" -storepass changeit -list
Run Code Online (Sandbox Code Playgroud)

我相信 Mac OS X 现在使用操作系统来处理证书。

  • @Pacerier 不,Java 维护自己的可信 CA 列表。 (4认同)

rxg*_*rxg 7

尽管 Oracle JRE(以前称为 Sun JRE)带有 Tom 提到的一系列证书,但在 Windows 上,JRE 还将默认使用与当前浏览器关联的证书用于小程序和 Web Start 应用程序(只要您使用的是“ Internet Explorer 5.0 或更高版本或 Mozilla 1.4 或更高版本")

如果您想进行签名签名验证、HTTPS 服务器身份验证或 HTTPS 客户端身份验证(例如,使用已安装在您的机器上的公司证书对 Web Start 应用程序进行签名),它应该“正常工作”。对于更复杂的用例,您可能会发现本文档更有帮助。