确定安装了哪些根证书

SHECA 证书可能已安装在你的 cacerts 存储中,因此你需要使用以下步骤来确定是否已安装。

本文以安装 UCA Global G2 Root 根证书为例,安装其他更证书请查阅 SHECA根证书信息列表,并自行替换相应参数。

  1. 在管理员命令提示符下,导航到 JDK 的 jdk\jre\lib\security 文件夹,然后运行以下命令列出系统上已安装的证书:

    1. keytool -list -keystore cacerts
  2. 如果系统提示输入存储密码,请输入默认密码 changeit

备注:
如果想要更改存储密码,请参阅 http://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html 上的 keytool 文档。

  1. 如果未看到包含指纹 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A(SHA1) 或 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C (SHA256) 的证书,请使用下一部分中的步骤下载并安装该证书。

将根证书添加到 cacerts 存储

  1. http://certs.sheca.com/r/globalg2.cer 下载 UCA Global G2 Root 根证书,并将其保存到 jdk\jre\lib\security 文件夹中扩展名为 .cer 的某个本地文件。 本示例假设下载的 UCA Global G2 Root 根证书文件为 globalg2.cer

  2. 使用以下命令将该证书导入 cacerts 存储:

    keytool -keystore cacerts -importcert -alias ucaglobalg2 -file globalg2.cer
    

    其中:

参数 说明
keystore 指定证书存储。
importcert 指定要导入证书。
alias 指定证书的别名。
file 指定要导入的根证书的文件名。
  1. 如果系统提示是否信任该证书,请确认指纹是否为 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A(SHA1) 或 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C (SHA256),如果指纹正确,则键入 y

  2. 运行以下命令可确保已成功导入 CA 证书:

    keytool -list -keystore cacerts
    

后续步骤

有关 keytool 实用工具的详细信息,请参阅 http://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html

SHECA根证书信息列表

参考

  1. https://docs.azure.cn/zh-cn/java/java-sdk-add-certificate-ca-store?view=azure-java-stable