Zertifikate - Programme und Tools
Zertifikat komplett anzeigen
# openssl x509 -noout -text -in <zertifikatsname.crt>
Herausgeber des Zertifikats anzeigen
# openssl x509 -noout -issuer -in <zertifikatsname.crt>
Zertifikats-Inhaber anzeigen
# openssl x509 -noout -subject -in <zertifikatsname.crt>
Gültigkeitszeitraum des Zertifikats anzeigen
# openssl x509 -noout -dates -in <zertifikatsname.crt>
Gültigkeitszeitraum des Zertifikats kombiniert anzeigen
# openssl x509 -noout -issuer -subject -dates -in <zertifikatsname.crt>
Hashwert des Zertifikates anzeigen
# openssl x509 -noout -hash -in <zertifikatsname.crt>
MD5-Fingerprint des Zertifikates anzeigen
# openssl x509 -noout -fingerprint -in <zertifikatsname.crt>
SSL-Zertifikat überprüfen
# openssl verify -CApath /etc/pki/tls/certs -verbose <zertifikatsname.crt>
SSL-Port auf Zertifikate abfragen
# openssl s_client -CApath /etc/pki/tls/certs -connect localhost:636 -showcerts
Die Passphrase eines Keyfiles entfernen
# openssl rsa -in <zertifikatsname.key> -out <neueskeyfile.key>
Die Passphrase eines Keyfiles ändern
# openssl rsa -des3 -in <zertifikatsname.key> -out <neueskeyfile.key>
Einen CSR Erzeugen
4096 Bit RSA-Key erzeugen
# openssl genrsa -out <zertifikatsname.key> 4096
Key mit einer Passphrase versehen
# openssl rsa -des3 -in <zertifikatsname.key> -out <zertifikatsname.key.sec>
Ein Certificate Signing Request erzeugen
# openssl req -new -key <zertifikatsname.key> -out <zertifikatsname.csr>
Möchte man SHA256 als Signatur Hash verwenden gibt man noch die Option -sha256 beim Generieren des Certificate Signing Request an.
# openssl req -new -sha256 -key <zertifikatsname.key> -out <zertifikatsname.csr>
Ein Certificate Signing Request anzeigen/auslesen
# openssl req -noout -text -in <request.csr>
Zertifikate von PEM nach DER konvertieren
# openssl x509 -outform der -in certificate.pem -out certificate.der
Zertifikate von PEM nach P7B konvertieren
# openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
Zertifikate von PEM nach PFX konvertieren
# openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Zertifikate von DER nach PEM konvertieren
# openssl x509 -inform der -in certificate.cer -out certificate.pem
Zertifikate von P7B nach PEM konvertieren
# openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
Zertifikate von P7B nach PFX konvertieren
# openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
oder
# openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
Zertifikate von PFX nach PEM konvertieren
# openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
Serverkey aus einem PFX- / PKCS12-Container extrahieren
Möchte man aus einem Clientzertifikat, welches mit dem Browser Firefox erstellt wurde oder aus einem ISS PFX-Container den Schlüssel extrahieren, gehen wir wie folgt vor:
- Key Exportieren:
$ openssl pkcs12 -in serverzertifikat.p12 -nocerts -out server.key
Enter Import Password: MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase:
- Keydatei normalisieren:
Beim exportierten Schlüssel, sind noch Zusatzinformationen enthalten, die wir nun noch entfernen.$ vim server.key
Bag Attributes friendlyName: Michael Nausch's Root CA ID localKeyID: 8E D8 F2 19 82 E6 6D 14 08 19 67 0B B6 70 33 C4 24 39 20 85 Key Attributes: <No Attributes> -----BEGIN ENCRYPTED PRIVATE KEY----- MIIFDjBABgBur$1ck1$T31NV011IDI07BkiG9w0BBQwwDgQI9KkTgM0blTECAggA MBQGCCqGSIb3DQMHBAj/FsaQiJyUjASCBMjaR8 ...
Hier entfernen wir alles vor der ersten Zeile, so daß die erste Zeile den String —–BEGIN ENCRYPTED PRIVATE KEY—– enthält.
-----BEGIN ENCRYPTED PRIVATE KEY----- MIIFDjBABgBur$1ck1$T31NV011IDI07BkiG9w0BBQwwDgQI9KkTgM0blTECAggA MBQGCCqGSIb3DQMHBAj/FsaQiJyUjASCBMjaR8 ...
Zertifikat aus einem PFX- / PKCS12-Container extrahieren
Möchte man aus einem Clientzertifikat, welches mit dem Browser Firefox erstellt wurde oder aus einem ISS PFX-Container das Zertifikat selbst, gehen wir wie folgt vor:
- Zertifikat Exportieren:
$ openssl pkcs12 -in codesigning_cert.p12 -clcerts -nokeys -out server.crt
Enter Import Password: MAC verified OK
- Zertifikat normalisieren:
Beim exportierten Zertifikat, sind noch Zusatzinformationen enthalten, die wir nun noch entfernen.Bag Attributes friendlyName: Michael Nausch's Root CA ID localKeyID: 8E D8 F2 19 14 08 19 67 49 0B B6 70 33 C4 24 39 20 85 subject=/CN=Michael Nausch/emailAddress=codesigning@nausch.org issuer=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.org -----BEGIN CERTIFICATE----- MIIFoDCCA4igAwIBAgIDDTYBMA0GCSqGSIb3DQEBBQUAMHkxEDAO7gNVBAoTB1Jv b3QgQ0ExHjAcBgNVBAsT4Eh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ Q0EgQ2VydCBTaWduaW5 ...
$ vim server.crt
-----BEGIN CERTIFICATE----- MIIFoDCCA4igAwIBAgIDDTYBMA0GCSqGSIb3DQEBBQUAMHkxEDAO7gNVBAoTB1Jv b3QgQ0ExHjAcBgNVBAsT4Eh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ Q0EgQ2VydCBTaWduaW5 ...