Java 将公共证书导入密钥库时出错
我有来自CA的公共证书。我想使用此证书创建Java SSL连接。我提到了他。由此我了解到我需要将证书导入密钥库。但是,我没有从CA收到任何密钥库。我创建了一个密钥库,并尝试将公共证书导入其中。但是我得到了以下错误: keytool错误:java.lang.Exception:应答中的公钥和密钥库不匹配 我需要CA的密钥库还是我做错了什么Java 将公共证书导入密钥库时出错,java,certificate,ssl-certificate,keystore,keytool,Java,Certificate,Ssl Certificate,Keystore,Keytool,我有来自CA的公共证书。我想使用此证书创建Java SSL连接。我提到了他。由此我了解到我需要将证书导入密钥库。但是,我没有从CA收到任何密钥库。我创建了一个密钥库,并尝试将公共证书导入其中。但是我得到了以下错误: keytool错误:java.lang.Exception:应答中的公钥和密钥库不匹配 我需要CA的密钥库还是我做错了什么 用于创建密钥库的命令: keytool -genkey -alias tomcat -keyalg RSA -keystore keystore.jks 用
用于创建密钥库的命令:
keytool -genkey -alias tomcat -keyalg RSA -keystore keystore.jks
用于导入证书的命令:
keytool -import -v -alias tomcat -file signed-cert.pem -keystore keystore.jks
我认为您没有正确地遵循证书登录流程。通过以下步骤检查此讨论以正确实施它们:
keytool-genkey-keyalg RSA-keystore test.keystore-validity 360
(这将生成一个密钥库和一个别名为“mykey”的密钥(DC))keytool-certreq-keyalg RSA-file test.csr-keystore test.keystore
(这将生成一个文本CSR文件)keytool-import-alias newkey-file-keystore test.keystore
(?重要的是,它的别名不同于步骤1(默认为“mykey”)keytool-export-alias mykey-file test.publickey-keystore test.keystore
keytool-genkey-keyalg RSA-keystore test.truststore-validity 360
(这将生成一个密钥库和一个别名为“mykey”的密钥(DC))keytool-import-file test.publickey-keystore test.truststore
keytool-genkey-alias testAlias-keyalg RSA-keystore test.truststore-validity 360
您可以使用上面的步骤7进行导入(尽管我在步骤7中添加了“-alias apublickey
”)。
这对我很有用。您可以使用gui工具生成密钥库/证书,并将证书导入/导出到密钥库。在密钥库中导入SSL证书时,我遇到了同样的问题。在我的情况下,根CA的证书从链中丢失。我将根证书导出到一个文件中,然后手动im移植到密钥库中。请将别名从tomcat更改为任何其他别名,因为您正在为密钥库使用相同的别名-genkey能否请您更具体一点?您使用哪个命令创建密钥库以及如何导入cert?创建密钥库的命令:keytool-genkey-alias tomcat-keyalg RSA-keystore keystore.jks命令导入cert:keytool-import-v-alias tomcat-file signed-cert.pem-keystore密钥库。jks@Zeutheus您是否找到了使此工作正常的方法?我面临类似的问题,上述问题的解决方案将有所帮助。我的做法是错误的。首先创建密钥库,然后从该密钥库提取公钥重新将此公钥发送到您的CA。当他们发送回已签名的证书时,您可以将其成功导入密钥。我犯了同样的错误。该错误消息很荒谬。谢谢:D