将证书文件导入密钥库时出现此问题:
keytool error:java.lang.Exception:回复和密钥库中的公钥不匹配
我做这个操作:
1)在服务器上创建我的密钥库:
keytool -genkey -keystore C:\keystore\keystore -alias jboss -keyalg RSA
2)我有domain.pfx并将其转换为此命令:
-
openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
-
openssl pkcs12 -in domain.pfx -nocerts -nodes -out domain_encrypted.key
-
openssl rsa -in domain_encrypted.key -out domain.key
现在我有3个新文件:
-
domain.cer
-
domain_encrypted.key
-
domain.key
3)最后,将domain.cer导入jboss别名中的C:\ keystore \ keystore:
keytool -import -alias jboss -keystore C:\keystore\keystore -file C:\cert\domain.cer
但我有这个错误:
keytool error:java.lang.Exception:回复和密钥库中的公钥不匹配
问题是什么?
2 回答
密钥库包含两种条目类型:
私钥输入(使用在密钥库中导入的证书绑定存储在密钥库中的私钥 . )此处,别名必须与创建密钥库文件时使用的别名保持一致 .
可信条目: - 此条目包含所有可信证书条目,包括根证书和中间证书 .
如果密钥库绑定到tomcat的
server.xml
文件中的域,则它必须包含私钥条目 .现在,根据您执行的步骤,您首先创建了一个密钥库(在其中生成了私钥),然后您尝试在密钥库中导入证书 . 但是在命令中你没有使用你使用
openssl
转换的私钥;您使用了生成密钥库时刚刚生成的私钥 .当你拥有
domain.pfx
时,你可以使用下面的keytool
命令直接转换它:注意:确保密钥库密码和密钥密码保持不变 .
我今天遇到了同样的问题 . 我通过在导入证书时使用不同的别名来解决它 . 因此,在导入证书时生成keystone和alias2时我有alias1 .