如何添加证书链密钥存储?(How to add certificate chain to keyst

2019-08-31 09:46发布

我有文件,证书链 - certificate.cer:

subject=/C...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

subject=/C=US/O=VeriSign, Inc...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

subject=/C=US/O=VeriSign, Inc...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

我需要这条产业链的证书添加到密钥库。
我所做的:

openssl x509 -outform der -in certificate.cer -out cert.der
keytool -v -importcert -alias mykey -file cert.der -keypass <passwd> -keystore keystore -storepass <passwd> -alias <myalias>

在结果我只有1密钥库证书。
但是,应该有3个。
可能是什么问题?

解:
CA给我发证书的PKCS#7格式。
我存储他们certificate.p7b文件,然后成功地添加他们通过以下命令将密钥存储:

keytool -import -trustcacerts -file certificate.p7b -keystore keystore -storepass <mypasswd> -alias "myalias"

Answer 1:

从密钥工具的人 - 它导入证书链,如果输入PKCS#7的格式给出,否则只有一个证书是进口的。 你应该能够证书转换为使用OpenSSL PKCS#7格式,通过OpenSSL的crl2pkcs7命令。



Answer 2:

我所有的PEMS cat'ing一起解决了这个问题:

cat cert.pem chain.pem fullchain.pem >all.pem
openssl pkcs12 -export -in all.pem -inkey privkey.pem -out cert_and_key.p12 -name tomcat -CAfile chain.pem -caname root -password MYPASSWORD
keytool -importkeystore -deststorepass MYPASSWORD -destkeypass MYPASSWORD -destkeystore MyDSKeyStore.jks -srckeystore cert_and_key.p12 -srcstoretype PKCS12 -srcstorepass MYPASSWORD -alias tomcat
keytool -import -trustcacerts -alias root -file chain.pem -keystore MyDSKeyStore.jks -storepass MYPASSWORD

(密钥工具不知道如何与PKCS7格式的关键办)

我把所有从letsencrypt的PEMS



文章来源: How to add certificate chain to keystore?