web-dev-qa-db-fra.com

Comment ajouter une chaîne de certificats au magasin de clés?

J'ai un fichier avec une chaîne de certificats - 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-----

Je dois ajouter cette chaîne de certificats au magasin de clés.
Ce que je fais:

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>

En conséquence, je n'ai qu'un seul certificat dans le magasin de clés.
Mais devrait avoir 3.
Quel pourrait être le problème?

SOLUTION:
CA m'a envoyé des certificats au format PKCS # 7.
Je les ai stockés dans le fichier certificate.p7b, puis je les ai ajoutés au magasin de clés en suivant la commande suivante:

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

A partir de l'outil keytool - il importe la chaîne de certificats, si l'entrée est donnée au format PKCS # 7, sinon seul le certificat unique est importé. Vous devriez pouvoir convertir les certificats au format PKCS # 7 avec openssl, via la commande openssl crl2pkcs7.

8
Nickolay Olshevsky

J'ai résolu le problème en regroupant tous les pems:

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

(keytool ne savait pas quoi faire avec une clé formatée PKCS7)

J'ai eu tous les Pems de Letsencrypt

24
nont