首页 > 解决方案 > 密钥库证书

问题描述

我想将证书添加到我的 JRE 文件夹中,这是与服务器建立受信任的 HTPPS 连接所必需的。我将证书导入到目标文件夹,它只要求输入密码并完成。由于它仍然无效,我想将其删除并重新添加,但我无法弄清楚 Keystore 的名称。

我尝试使用 cmd Keystore -list -v 列出密钥库值,它列出了我的密钥库证书详细信息以及别名、密钥库类型、提供者等,但没有列出密钥库的文件名。我尝试将 .keystore 作为默认文件名,但它会引发“文件不存在”错误。请帮助我找出我的密钥库的文件名,以便我可以删除它并重新添加。

C:\Program Files\Java\jre8\bin>keytool -list -v
Enter keystore password:
Keystore type: jks
Keystore provider: SUN

您的密钥库包含 1 个条目

别名:mykey 创建日期:2019 年 8 月 1 日 条目类型:trustedCertEntry

需要找到keystore文件名并删除。

标签: java

解决方案


如果您有证书,您可以将它们重新导入特定文件,然后使用该文件。

例子: keytool -importcert -file certificate.cer -keystore keystore.jks -alias "Alias"

这会将 certificate.cer 文件导入到密钥库名称“keystore.jks”中,并将证书保存在别名“Alias”下。通常,这将是您要放入您要信任的站点的密钥库中的 CA 证书。

然后,您可以将此信任库传递给 java 应用程序,以便它能够验证您要连接到的站点/应用程序提供的服务器证书(假设它由您刚刚导入的 CA 证书签名)。

注意:查看以jksjre8/bin 目录结尾的文件,看看您是否能够看到您今天创建的文件。那应该是你的文件。

要设置信任库,请使用此启动 java 进程-Djavax.net.ssl.trustStore=path/to/new/truststore and -Djava.net.ssl.trustStorePassword=...


推荐阅读