将证书文件导入密钥库时出现此问题:
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个新文件:
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:回复和密钥库中的公钥不匹配
有什么问题?
答案 0 :(得分:0)
密钥库包含两种条目类型:
私钥输入(使用密钥库中导入的证书绑定存储在密钥库中的私钥。)此处,别名必须与创建密钥库文件时使用的别名保持一致。
可信条目: - 此条目包含所有可信证书条目,包括根证书和中间证书。
如果密钥库绑定到tomcat的server.xml
文件中的域,则它必须包含私钥条目。
现在,根据您执行的步骤,您首先创建了一个密钥库(在其中生成了私钥),然后您尝试在密钥库中导入证书。但是在命令中你没有使用你使用openssl
转换的私钥;您使用了在生成密钥库时刚刚生成的私钥。
如果你有domain.pfx
,你可以使用下面的keytool
命令直接转换它:
keytool -importkeystore -srckeystore domain.pfx -srcstoretype pkcs12 -destkeystore name_of_the_keystore_file.jks -deststoretype jks
注意:确保密钥库密码和密钥密码保持不变。
答案 1 :(得分:0)
更改别名名称,因为应该已经创建了另一个具有jboss别名的条目。 您可以通过执行-> keytool -list -v -keystore来查看信任库和别名。我相信它将解决。
答案 2 :(得分:-1)
我今天遇到了同样的问题。我通过在导入证书时使用不同的别名来解决它。因此,在导入证书时生成keystone和alias2时我有alias1。