it-swarm.com.de

Wie füge ich eine Zertifikatskette zum Keystore hinzu?

Ich habe eine Datei mit einer Zertifikatskette - 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-----

Ich muss diese Zertifikatskette zum Keystore hinzufügen.
Was ich mache:

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>

Im Ergebnis habe ich nur 1 Zertifikat im Keystore.
Sollte aber 3 haben.
Was könnte falsch sein?

LÖSUNG:
CA hat mir Zertifikate im PKCS # 7-Format gesendet.
Ich habe sie in der Datei certificate.p7b gespeichert und sie dann mit folgendem Befehl erfolgreich zum Keystore hinzugefügt:

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

Vom keytool man - es importiert die Zertifikatskette, wenn die Eingabe im PKCS # 7-Format erfolgt, andernfalls wird nur das einzelne Zertifikat importiert. Sie sollten in der Lage sein, Zertifikate mit openssl über den Befehl openssl crl2pkcs7 in das PKCS # 7-Format zu konvertieren.

8

Ich habe das Problem gelöst, indem ich alle Pems zusammengestellt habe:

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 wusste nicht, was mit einem PKCS7-formatierten Schlüssel zu tun ist)

Ich habe alle Pems von letsencrypt bekommen

24
nont