一个。从商店中提取现有证书密钥:
keytool -v -importkeystore -srckeystore keystore -srcalias one -destkeystore temppp -deststoretype PKCS12 -srcstorepass passwordd -deststorepass passwordd
湾从导出的证书中提取私钥:
openssl pkcs12 -in temppp -out csr_private.key -nocerts -nodes -password pass:passwordd
℃。使用提取的密钥生成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
即使用自签名证书对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"
没有证书与私钥匹配
答案 0 :(得分:7)
修复方法是添加" -nodes"到最后一个命令(f)。
在第二个命令中,使用" -nodes"导出密钥。 (没有DES加密),它也应该在最后一个命令中相同。