Suche in diesem Bereich
Endung | Inhalt | Format Encoding |
---|---|---|
.pem | Zertifikate oder Private Keys. Mehrere Abschnitte können in einer Datei zusammengefasst sein. | DER oder Base64 |
.req | RFC2986 PKCS #10: Certification Request Syntax Specification Version 1.7 | DER oder Base64 |
.cer | Enthält das Zertifikat bestehend aus den Daten (Name, Gültigkeitsdauer, Ausstellende CA, Fingerprint etc.) | X509 |
.crt | Binäres Zertifikat | X.509 |
.pfx, .p12 | Mit Kennwort geschützter PKCS#12 Container enthält Zertifikate und private Schlüssel | |
.pzb, .p7c | PKCS#7 Kann die Zertifikate, Revocation Liste (CRL) etc. enthalten. | |
.crl | Enthält die Liste der zurückgezogenen Zertifikate | |
.sst | Microsoft proprietäres Speicherformat für Zertifikate |
Befehle zum Erzeugen von CSRs, Zertifikaten, privaten Schlüsseln und zum Entfernen des Passwortes aus einem privaten Schlüssel
openssl req -new -nodes -keyout privatekey.key -out csr.csr -newkey rsa:2048
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privatekey.key -out certificate.crt
openssl req -out CSR.csr -key privatekey.key -new
openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privatekey.key
openssl rsa -in privateKey.pem -out newprivatekey.pem
Befehle zum Prüfen der Daten von Zertifikaten, CSRs oder privaten Schlüsseln.
openssl req -text -noout -verify -in CSR.csr
openssl req -in request.pem -noout -text
openssl rsa -in privatekey.key -check
openssl x509 -in certificate.crt -text -noout
openssl pkcs12 -info -in keyStore.p12
openssl x509 -noout -text -in cert.pem
openssl x509 -in cert.pem -pubkey
openssl pkcs12 -in cert.p12
openssl pkcs12 -in keystore.p12 -clcerts | openssl x509 -text
openssl pkcs12 -in keystore.p12 -clcerts | openssl x509 -serial -noout
openssl pkcs12 -in cert.p12 -nodes | openssl x509 -noout -enddate
openssl x509 -fingerprint -noout -md5 -in test.pem
openssl x509 -figerprint -noout -sha1 -in test.pem
openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes -nocerts
openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes -nokeys
openssl x509 -noout -modulus -in certificate.crt | openssl md5 openssl rsa -noout -modulus -in privatekey.key | openssl md5 openssl req -noout -modulus -in CSR.csr | openssl md5
openssl s_client -connect www.example.com:443
Benötigst du für dein Zertifikat ein anderes Format als Base64 encoded X.509, kannst du es mit einem entsprechenden Tool, wie z. B. das OpenSource-Tool OpenSSL (Details zu OpenSSL) in das gewünschte Format konvertieren. Das Format, das dein Zertifikat haben muss, ist abhängig von dem Server, auf dem es installiert werden soll.
openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
openssl x509 -outform der -in certificatename.pem -out certificatename.der
openssl x509 -inform der -in certificatename.der -out certificatename.pem
openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem
Es wird dringend empfohlen, zu und von .pfx-Dateien auf dem eigenen Rechner zu konvertieren, damit man den privaten Schlüssel dort behalten kann.
openssl pkcs12 -in certificatename.pfx -out certificatename.pem
Für die Konvertierung von .ptb in .pfx sind 4 Schritte erforderlich:
Schritt 1
Einen Private-Key private.key
und eine CSR- Datei erzeugen domainname.csr
:
Im SSL Manager -> Tools -> OpenSSL CSR Generator den entsprechenden Konsolenbefehl erzeugen und in der Konsole auf dem Server ausführen.
Ist der Syntax bekann, kann der Befehl direkt auf dem Server in die Konsole eingegeben werden.
Schritt 2: Mit der CSR-Datei das Zertifikat im SSL Manager bestellen.
Schritt 3:
Eine Textdatei mit der Endung .pem (z. b. certifikatename.pem
) erstellen und in das gleiche Verzeichnis auf dem Server speichern, in dem die Dateien private.key
und domainname.csr
liegen
In der Reihenfolge von oben nach unten Server-CRT, Intermediate- und Root-Zertifikat in diese Datei einfügen.
Du findest die Daten im SSL Manager in den Zertifikats-Details (Zertifikatsverwaltung -> Zertifikat markieren -> Schaltfläche Info)
Das Server-CRT: Reiter Server-CRT
Das Intermediate-Zertifikat: Reiter CA-CRT (Typ: intermediate)
Das Root-Zertifikat: Reiter CA-CRT
Schritt 4: Die Datei muss dreimal konvertiert werden: .pem → .p7b → .cer → . pfx
1) Die .pem datei in eine .p7b-Datei konvertieren
openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer
2) Die .p7b in eine .cer-Datei konvertieren
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
3) Die .cer-Datei in eine .pfx-Datei konvertieren
openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer
Legen Sie nun nach Aufforderung das Passwort fest. Damit ist der Vorgang abgeschlossen.
Füge den Parameter -showcerts zu diesem Befehl hinzu, um alle vom SSL-Dienst vorgelegten Zertifikate in der Zertifikatskette zu drucken. Dies kann bei der Fehlerbehebung fehlender zwischengeschalteter Zertifizierungsstellen-Zertifikatsprobleme helfen.
openssl s_client -connect <hostname>:<port> -showcerts
Füge diesen Parameter hinzu, um OpenSSL zu zwingen, nur SSLv2 zu verwenden. Diese Option ist nützlich, um unterstützte SSL-Protokollversionen zu testen. Beispielsweise kannst du diesen Befehl verwenden, um zu testen, ob SSLv2 aktiviert ist oder nicht.
openssl s_client -connect <hostname>:<port> -ssl2
openssl s_client -connect <hostname>:<port> -ssl3 openssl s_client -connect <hostname>:<port> -tls1 openssl s_client -connect <hostname>:<port> -dtls1
Mit diesem Parameter kannst du eine bestimmte Verschlüsselung erzwingen. Diese Option ist nützlich, um aktivierte SSL-Verschlüsselungen zu testen. Beispielsweise kannst du nach der Deaktivierung schwacher Verschlüsselungen die Verbindung mit einer deaktivierten Verschlüsselung testen, um sicherzustellen, dass sie erfolgreich deaktiviert wurde.
Du kannst den Befehl openssl ciphers verwenden, um eine Liste der für OpenSSL verfügbaren Verschlüsselungen anzuzeigen.
Die Verwendung einer vom Server nicht unterstützten Verschlüsselung führt zu einem Fehler ähnlich dem folgenden.
openssl s_client -connect <hostname>:<port> -cipher DHE-RSA-AES256-SHA openssl s_client -connect example.com:443 -cipher EXP-RC4-MD5 CONNECTED(00000003) 42792:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/SourceCache/OpenSSL098/OpenSSL098-47.1/src/ssl/s23_clnt.c:602
Es wird dringend empfohlen .pfx-Dateien auf dem eigenen Rechner zu konvertieren, damit man den privaten Schlüssel dort behalten kann.