首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >密钥工具错误: java.lang.Exception:回复中的公钥和密钥库不匹配

密钥工具错误: java.lang.Exception:回复中的公钥和密钥库不匹配
EN

Stack Overflow用户
提问于 2014-10-08 20:25:26
回答 3查看 12.7K关注 0票数 1

当我将认证文件导入keystore时,我遇到了这个问题:

密钥工具错误: java.lang.Exception:回复中的公钥和密钥库不匹配

我这样做的操作如下:

1)在服务器上创建我的密钥库:

代码语言:javascript
复制
keytool -genkey -keystore C:\keystore\keystore -alias jboss -keyalg RSA

2)我有domain.pfx,并用下面的命令转换它:

domain.cer

  • openssl domain_encrypted.key

  • openssl
  • openssl pkcs12 -in domain.pfx -clcerts -nokeys -out pkcs12 -in domain.pfx -nocerts -nodes -out rsa -in domain_encrypted.key -out

现在我有3个新文件:

  • domain.cer
  • domain_encrypted.key
  • domain.key

3)最后,将domain.cer导入jboss别名中的C:\keystore\keystore:

代码语言:javascript
复制
keytool -import -alias jboss -keystore C:\keystore\keystore -file C:\cert\domain.cer

但是我有这个错误:

密钥工具错误: java.lang.Exception:回复中的公钥和密钥库不匹配

有什么问题吗?

EN

回答 3

Stack Overflow用户

发布于 2017-10-23 20:13:17

密钥库由两种条目类型组成:

  1. 私钥条目(它将存储在密钥库中的私钥与导入密钥库中的证书绑定。)在这里,别名必须与创建keystore文件时使用的别名相同。
  2. Trusted Entry :-此条目包含所有受信任的证书条目,包括根证书和中间证书。

如果密钥库绑定到tomcat的server.xml文件中的域,那么它必须包含私钥条目。

现在,按照您执行的步骤,您首先创建了一个keystore (在其中生成了一个私钥),然后尝试在keystore中导入证书。但是在命令中,您没有使用使用openssl转换的私钥;您使用的是在生成密钥库时新生成的私钥。

当您拥有domain.pfx时,您可以使用下面的keytool命令直接转换它:

代码语言:javascript
复制
keytool -importkeystore -srckeystore domain.pfx -srcstoretype pkcs12 -destkeystore name_of_the_keystore_file.jks -deststoretype jks

注意:确保密钥库密码和密钥密码保持不变。

票数 1
EN

Stack Overflow用户

发布于 2019-11-21 16:01:03

更改别名,因为应该已经创建了另一个具有jboss别名的条目。您可以通过执行-> keytool -list -v -keystore在其中查看信任库和别名。我相信它会得到解决的。

票数 0
EN

Stack Overflow用户

发布于 2014-10-21 07:01:04

我今天也遇到了同样的问题。我通过在导入证书时使用不同的别名解决了此问题。所以我在生成keystone时使用了alias1,在导入证书时使用了alias2。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26256856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档