我想将证书添加到我的JRE文件夹中,以建立与服务器的信任HTPPS连接。我将证书导入到目标文件夹,该文件夹仅要求输入密码即可完成。由于它仍然无效,因此我想将其删除并添加回去,但是我无法弄清密钥库的名称。
我尝试使用cmd列出密钥库值 密钥库-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
需要找到密钥库文件名并将其删除。
答案 0 :(得分:0)
如果您拥有证书,则可以将其重新导入到特定文件中,然后使用该文件。
示例:
keytool -importcert -file certificate.cer -keystore keystore.jks -alias "Alias"
这会将certificate.cer文件导入密钥库名称“ keystore.jks”,并将证书保存为别名“ Alias”。 通常,这是您要放入要信任的站点的密钥库中的CA证书。
然后,您可以将此信任库传递给Java应用程序,以便它能够验证要连接到的站点/应用程序提供的服务器证书(假设它由刚导入的CA证书签名)。
注意:请查看jre8 / bin目录中以jks
结尾的文件,以查看是否能看到您今天创建的文件。那应该是您的文件。
要设置信任库,请使用此-Djavax.net.ssl.trustStore=path/to/new/truststore and -Djava.net.ssl.trustStorePassword=...