密钥工具错误:java.lang.Exception: 证书回复和密钥库中的证书相同。

4
我想用证书签署我的jar文件。我已经按照以下步骤进行操作:
C:\Program Files\Java\jdk-10.0.2\bin>keytool -genkey -alias testals -keystore testks
C:\Program Files\Java\jdk-10.0.2\bin>keytool -export -keystore testks -alias testals -file testcer.cer 证书存储在文件中
C:\Program Files\Java\jdk-10.0.2\bin>keytool -import -alias testals -file testcer.cer -keystore testks
但是,在导入时出现异常,显示证书回复和密钥库中的证书相同。
请帮助我应该如何处理?

证书已经存储在密钥库中,为什么您还想再次导入它呢?(导出:将证书复制到文件;导入:从文件中读取证书到密钥库) - user85421
@sai 你解决了吗?虽然看起来你打错了句子,但我也遇到了同样的错误。 - AyukNayr
2个回答

8

在导入时使用不同的别名名称,不要使用用于导出的别名名称。这样可以正常工作。

这是因为您正在导入根证书的自签名证书,而不是服务器证书。


0

以下是从您的命令中观察到的相同内容,因此出现了错误。

密钥库名称:testks 别名:testals 文件:testcer.cer

如果您需要签署jar,请按照以下步骤操作。

  1. 从您的密钥库生成证书签名请求。一个示例命令如下所示。

keytool -certreq -file testks.csr -keystore testks -alias testals -ext SAN=dns:testals

  1. 将生成的CSR与您的IT网络安全团队共享,并请求他们提供已签名的证书回复。

  2. 导入证书回复,就像之前一样,但使用已签名的证书,您将不再看到此错误。

请告诉我们这是否有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接