Dan*_*lin 9 java certificate keystore keytool ssl-certificate
我有CA的公共证书.我想使用此证书创建Java SSL连接.我提到如何在特定连接上使用不同的证书? 并使用自签名证书不复制完整的密钥存储到客户端的Java SSL连接.据我所知,我需要将证书导入密钥库.但是我还没有从CA收到任何密钥库.我创建了一个密钥库,并尝试将公共证书导入其中.但后来我收到以下错误:
keytool错误:java.lang.Exception:回复中的公钥和密钥库不匹配
我是否需要CA的密钥库或我做错了什么?
用于创建密钥库的命令:
keytool -genkey -alias tomcat -keyalg RSA -keystore keystore.jks
Run Code Online (Sandbox Code Playgroud)
用于导入证书的命令:
keytool -import -v -alias tomcat -file signed-cert.pem -keystore keystore.jks
Run Code Online (Sandbox Code Playgroud)
小智 6
我认为你没有正确遵循证书登录过程.查看此讨论https://forums.oracle.com/thread/1533940,按照以下步骤正确实施它们:
创建一个密钥库
keytool -genkey -keyalg RSA -keystore test.keystore -validity 360
(这会生成一个密钥库和一个别名为"mykey"的密钥(DC))
创建证书签名请求(CSR).
keytool -certreq -keyalg RSA -file test.csr -keystore test.keystore
(这会生成一个文本CSR文件)
已签署证书:http://www.instantssl.com/ssl-certificate-support/csr_generation/ssl-certificate-index.html
导入签名证书(如果粘贴步骤3中签名的证书,请注意CRLF)
keytool -import -alias newkey -file <signed cert 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))
导入公钥 - 用于通过客户端测试SSL SOAP服务
keytool -import -file test.publickey -keystore test.truststore
问题是让步骤1和6中的别名默认为"mykey".当我改变第6步时:
keytool -genkey -alias testAlias -keyalg RSA -keystore test.truststore -validity 360
您可以使用上面的步骤7导入(虽然我-alias apublickey在步骤7中添加了" ").这对我有用.
| 归档时间: |
|
| 查看次数: |
42531 次 |
| 最近记录: |