获取“没有证书匹配私钥”
Posted
技术标签:
【中文标题】获取“没有证书匹配私钥”【英文标题】:Getting "No certificate matches private key" 【发布时间】:2014-08-19 17:31:47 【问题描述】:这是我尝试过的命令序列:
一个。从存储中提取现有的证书密钥:
keytool -v -importkeystore -srckeystore keystore -srcalias one -destkeystore temppp -deststoretype PKCS12 -srcstorepass passwordd -deststorepass passwordd
b.从导出的证书中提取私钥:
openssl pkcs12 -in temppp -out csr_private.key -nocerts -nodes -password pass:passwordd
c。使用提取的密钥生成 csr:
openssl req -nodes -sha256 -new -key csr_private.key -out request.csr -subj '/C=IL/ST=Unknown/L=Unknown/O=Bla/OU=Bla/CN=BLAAAA'
d。生成自签名证书和密钥:
openssl req -x509 -newkey rsa:2048 -keyout ca_key.pem -nodes -sha512 -days 4096 -subj '/C=IL/ST=Unknown/L=Unknown/O=Bla Bla/OU=BLA/CN=FOOO' -out ca.pem
e。使用自签名证书对 csr 进行签名:
openssl x509 -in request.csr -out signed_cert.pem -req -signkey ca_key.pem -days 1001
f。将签名证书和 csr 密钥导出到一个 p12 文件:
openssl pkcs12 -export -in signed_cert.pem -inkey csr_private.key -out file.p12 -name "one"
结果:
没有证书与私钥匹配
-
我错过了什么?为什么我的最后一个命令不合法?
我打算用“keytool -importkeystore”file.p12(应该在最后一步生成)来替换“keystore”中的“one”privateKeyEntry。正如 How to import an existing x509 certificate and private key in Java keystore to use in SSL? 中所建议的那样。
基本上我正在尝试编辑该条目以具有相同的密钥,但不同的证书。
【问题讨论】:
【参考方案1】:解决方法是在最后一个命令 (f) 中添加“-nodes”。 在第二个命令中,密钥是使用“-nodes”(无 DES 加密)导出的,并且在最后一个命令中也应该相同。
【讨论】:
以上是关于获取“没有证书匹配私钥”的主要内容,如果未能解决你的问题,请参考以下文章