Quantcast
Channel: 2Axels-Company
Viewing all articles
Browse latest Browse all 23

renew a buggy CMS Keystore with all certificates inside of them

$
0
0

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.


Viewing all articles
Browse latest Browse all 23