Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
OpenSSL Kommandos
Neue Zertifikate, Anforderungen oder Schlüssel erzeugen
Diese Kommandos erlauben es, Zertifikatsanforderungen (CSR), Zertifikate und Private Keys zu erstellen und weitere Aufgaben.
Einen neuen Private-Key und eine Zertifikatsanforderung erzeugen
openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
Ein Self-Signed-Zertifikat erzeugen
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
Eine Zertifikatsanforderung mit einem bestehenden Schlüssel erzeugen
openssl req -out CSR.csr -key privateKey.key -new
Eine Zertifikatsanforderung basierend auf ein bestehendes Zertifikat erzeugen
openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key
Ein Passwort von einem Private-Key löschen
openssl rsa -in privateKey.pem -out newPrivateKey.pem
Eine Anforderung auf Basis einer bestehenden Config mit einem bestehenden Private Key neu erstellen
openssl.exe req -config openssl.cnf -key private.key -new -out exchange20151215.csr
Prüfungen mit Hilfe von OpenSSL
Wenn du die Informationen in einer Zertifikatsanforderung, einem Zertifikat oder einem Private-Key prüfen musst, verwende die folgenden Befehle:
Eine Zertifikatsanforderung prüfen
openssl req -text -noout -verify -in CSR.csr
Einen Private-Key prüfen
openssl rsa -in privateKey.key -check
Ein Zertifikat prüfen
openssl x509 -in certificate.crt -text -noout
Eine PKCS#12-Datei prüfen (.pfx oder .p12)
openssl pkcs12 -info -in keyStore.p12
Debugging mit Open SSL
Wenn du einen Fehler erhälst, dass der Private-Key nicht zu der Anforderung oder dem Zertifikat passt, versuche folgende Befehle:
Prüfe den MD5-Hash des öffentlichen Schlüssels um sicherzugehen, dass dieser zu einer Zertifikatsanforderung oder einem privaten Schlüssel passt.
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
Eine SSL-Verbindung prüfen. Es sollten alle verwendeten Zertifikate inklusive Zertifizierungspfade angezeigt werden.
openssl s_client -connect www.paypal.com:443
Mit OpenSSL konvertieren
Diese Befehle erlauben dir, Zertifikate und private Schlüssel in unterschiedliche Formate zu konvertieren, um mit verschiedenen Serverarten und Softwareprodukten zurecht zu kommen. Du kannst eine normale PEM-Schlüsseldatei (Apache) zu einer PFX-Datei (PKCS#12) konvertieren, um diese in Tomcat oder dem IIS zu verwenden.
Eine DER-Datei (.crt .cer .der) zu PEM konvertieren
openssl x509 -inform der -in certificate.cer -out certificate.pem
Eine PEM-Datei zu DER konvertieren
openssl x509 -outform der -in certificate.pem -out certificate.der
Eine PKCS#12-Datei (.pfx .p12) zu PEM konvertieren.
openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
Du kannst die Option -nocerts eintragen um nur die Schlüssel zu extrahieren und -nokeys um nur die Zertifikate zu erhalten.
Eine PEM-Zertifikatsdatei und einen privaten Schlüssel zu PKCS#12 (.pfx .p12) konvertieren
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Key aus PFX exportieren
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes openssl rsa -in key.pem -out server.key
Zertifikat aus PFX exportieren
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem
Quelle: https://www.sslshopper.com/article-most-common-openssl-commands.html, http://apetec.com/support/GenerateSAN-CSR.htm