我正在尝试将证书导入密钥库。
因此我执行以下步骤:
使用keytool创建文件contentent:
keytool -genkey -alias server-alias -keyalg RSA -keypass changeit -storepass changeit -keystore keystore.jks
将我的证书添加到该密钥库:
keytool -import -v -trustcacerts -alias server-alias -file C:\server.cert -keystore keystore.jks -keypass changeit -storepass changeit
但我总是得到错误:
keytool error: java.lang.Exception: Public keys in reply and keystore don't match
我在这里做错了什么,如何解决?
答案 0 :(得分:0)
在第二步中,您始终生成一个新密钥,但如果要将证书及其私钥导入密钥库,则必须使用与证书匹配的密钥。
因此,您需要在有人签署服务器证书之前创建的密钥(存储在C:\ server.cert中的密钥)。
必须按正确的顺序执行以下步骤:
因此,您总是尝试在没有步骤2和3的情况下重新执行步骤1和步骤4.因此,您将收到“不匹配”错误。
完成所有步骤1-4。或者使用属于server.cert证书的已保存私钥(希望您仍然拥有它)。