Wie bereits in meinem letzten Beitrag Convert and Export Certificates from a KDB (CMS) Keystore zum Thema Keystores und Zertifikate erklärt, kann man mittels einiger Kommandos des Programms nicht nur den privaten und öffentlichen Schlüssel eines Zertifikates exportieren, sondern auch diese mitsamt der Signerzertifikate in einen neuen Keystore migrieren. Hier möchte ich nun kurz die Befehle erst einmal ablegen, die dazu notwendig sind, um alle Schritte sauber durchführen zu können.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # alle Zertifikate auslesen java com.ibm.gsk.ikeyman.ikeycmd -cert -list -db original_keystores/dns-name.subdomain.de.kdb -pw keystore-password -type cms # nur die CA Zertifikate auslesen java com.ibm.gsk.ikeyman.ikeycmd -cert -list CA -db original_keystores/dns-name.subdomain.de.kdb -pw keystore-password -type cms # exportieren des Zertifikates mit dem Label "dns-name.subdomain.de" in einen *.p12 Keystore # beim Export wird auch der private Schlüssel mit exportiert java com.ibm.gsk.ikeyman.ikeycmd -cert -export -db original_keystores/dns-name.subdomain.de.kdb -pw keystore-password -type cms -label "dns-name.subdomain.de" -target dns-name.subdomain.de.p12 -target_type p12 -target_pw keystore-password # neuen Keystore erstellen, passwort "stashen" java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db dns-name.subdomain.de.kdb -pw keystore-password -type cms java com.ibm.gsk.ikeyman.ikeycmd -keydb -stashpw -db dns-name.subdomain.de.kdb -pw keystore-password -type cms # Signerzertifikate importieren java com.ibm.gsk.ikeyman.ikeycmd -cert -add -db dns-name.subdomain.de.kdb -pw keystore-password -type cms -file /app/CERT/Signer/cert1/ca-cert-ROOT-04.cer -label ca-cert-root-04 -trust enable java com.ibm.gsk.ikeyman.ikeycmd -cert -add -db dns-name.subdomain.de.kdb -pw keystore-password -type cms -file /app/CERT/Signer/cert1/ca-cert-ROOT-05.cer -label ca-cert-root-05 -trust enable java com.ibm.gsk.ikeyman.ikeycmd -cert -add -db dns-name.subdomain.de.kdb -pw keystore-password -type cms -file /app/CERT/Signer/cert1/ca-cert-PROC-06.cer -label ca-cert-proc-06 -trust enable java com.ibm.gsk.ikeyman.ikeycmd -cert -add -db dns-name.subdomain.de.kdb -pw keystore-password -type cms -file /app/CERT/Signer/cert1/ca-cert-PROC-07.cer -label ca-cert-proc-07 -trust enable # nochmal alle Zertifikate auflisten java com.ibm.gsk.ikeyman.ikeycmd -cert -list CA -db dns-name.subdomain.de.kdb -pw keystore-password -type cms # das zuvor gesicherte Zertifikat wieder in den neuen Keystore importieren java com.ibm.gsk.ikeyman.ikeycmd -cert -import -target dns-name.subdomain.de.kdb -target_pw keystore-password -target_type cms -type p12 -db dns-name.subdomain.de.p12 -pw keystore-password -label dns-name.subdomain.de -new_label dns-name.subdomain.de # das importierte Zertifikat als "default"-Zertifikat markieren java com.ibm.gsk.ikeyman.ikeycmd -cert -setdefault -db dns-name.subdomain.de.kdb -pw keystore-password -type cms -label dns-name.subdomain.de # Kontrolle: noch einmal alles auflisten java com.ibm.gsk.ikeyman.ikeycmd -cert -list -db dns-name.subdomain.de.kdb -pw keystore-password -type cms # Keystore auf die Zielmaschine kopieren scp dns-name.subdomain.de.[krs]* dns-name.subdomain.de:/PRODUCT/HTTPServer_nn/ssl/ # Testverbindung aufbauen openssl s_client -tls1 -connect dns-name1.subdomain.de:443 openssl s_client -tls1 -connect dns-name.subdomain.de:4431 |
Eventuell stelle ich bei Gelegenheit noch das zugehörige Script ein. Das ist aber im Moment noch nicht fertig.
Viel Spaß beim ausprobieren.
Die folgende Doku hat mir hier sehr gute Dienste geleistet: Use the Key Management Utility (IKEYMAN): IBM HTTP Server.