将根证书添加到 Java CA 证书存储
使用 Azure 服务(如 Azure 服务总线)的应用程序需要信任 Baltimore CyberTrust 根证书。 此证书应该已安装在系统中,但如果还没有,请参阅本教程中的步骤,了解如何使用 Oracle 的 keytool 将所需的证书颁发机构 (CA) 根证书添加到将要用于 Azure 服务的 Java CA 证书 (cacerts) 存储。
Oracle 的 keytool 实用程序是一种密钥和证书管理工具,可供开发人员管理那些可以与 Java 配合使用的受信任证书的列表。 可以在压缩 JDK 并将其添加到 Azure 项目的 approot 文件夹之前使用 keytool 来添加 CA 证书,也可以运行使用 keytool 的启动任务来添加证书。
Azure 已在 2013 年 4 月 15 日开始从 GTE CyberTrust 全局根证书迁移到 Baltimore CyberTrust 根证书。 以下步骤演示如何使用 keytool 将 Baltimore CyberTrust 根证书添加到 Java CA 证书 (cacerts) 存储。
备注
可以根据本文中的步骤配置 Java SDK,使之信任其他受信任证书颁发机构颁发的根证书。 例如,可以从 GeoTrust 根证书提供的证书列表中选择一个根证书。
确定安装了哪些根证书
Baltimore 证书可能已安装到 cacerts 存储中,因此需通过以下步骤来确定它是否已安装。
在管理员命令提示符下,导航到 JDK 的 jdk\jre\lib\security 文件夹,然后运行以下命令,以便列出安装在系统中的证书:
keytool -list -keystore cacerts
如果系统提示输入存储密码,可输入默认密码 changeit。
备注
若要更改存储密码,请参阅 http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html 中的 keytool 文档。
如果没有看到指纹为
d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74
的证书,请按以下部分的步骤来下载并安装证书。
将根证书添加到 cacerts 存储的步骤
从 https://cacert.omniroot.com/bc2025.crt 下载 Baltimore CyberTrust 根证书,将其保存到 jdk\jre\lib\security 文件夹中扩展名为 .cer 的本地文件。 就此示例来说,假定已下载 Baltimore CyberTrust 根证书文件并将其另存为 bc2025.cer。
备注
此 Baltimore CyberTrust 根证书的序列号为
02:00:00:b9
,SHA1 指纹为d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74
。使用以下命令将证书导入 cacerts 存储:
keytool -keystore cacerts -importcert -alias bc2025ca -file bc2025.cer
其中:
参数 说明 keystore
指定证书存储。 importcert
指定你要导入证书。 alias
指定证书的别名。 file
指定要导入的根证书的文件名。 如果系统提示信任该证书,请验证指纹是否为
d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74
。如果指纹正确,则键入 y。运行以下命令可确保已成功导入 CA 证书:
keytool -list -keystore cacerts
成功地将根证书添加到 JDK 以后,即可将 JDK 的内容压缩后添加到 Azure 项目的 approot 文件夹。
后续步骤
有关 Java 的详细信息,请参阅面向 Java 开发人员的 Azure。
有关在 Azure 上进行开发时可供使用的受支持 JDK 的详细信息,请参阅 https://aka.ms/azure-jdks。