Gebräuchliche OpenSSL Befehle

Allgmeine OpenSSL Befehle

Diese Kommandos dienen zum erstellen von CSRs, Zetifikaten, PrivateKeys und anderen verschiedenen Dingen.

PrivateKey erstellen

openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key

Zertifikat erstellen

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt

CSR erstellen

openssl req -out CSR.csr -key privateKey.key -new

Siehe dazu auch: SSL CSR erstellen für weitere Optionen, wie z.B: ein CSR für ein SAN Zertifikat.

Zertifikat aus CSR erstellen

openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key

Neuer PrivateKey aus altem ersetllen

openssl rsa -in privateKey.pem -out newPrivateKey.pem

Überprüfen mit OpenSSL

Zertifikate, CSRs oder PrivateKeys überpüfen:

Zertifikat prüfen

openssl req -text -noout -verify -in CSR.csr

PrivateKey prüfen

openssl rsa -in privateKey.key -check

Zertifikat anschauen

openssl x509 -in certificate.crt -text -noout

PKCs12 file prüfen

openssl pkcs12 -info -in keyStore.p12

Debuggen mit OpenSSL

Falls man einen Fehler bekommt wie: „private doesn’t match the certificate“ oder einem installierten Zertifikat wird nicht vertraut, dann kann man das mit diesem Kommandos herausfinden.

Prüfen ob ein Zetifikat (.crt) zu einem Schlüssel (.key) 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

(alle md5-summen müssen gleich sein)

Mit der Website verbinden und Zertifikat sehen

openssl s_client -connect www.paypal.com:443

Konvertieren mit OpenSSL

Mit den folgenden Kommandos kann man Zertifikate und Schlüssel in andere Format konvertieren um diese mit spezifischen Server- und Software- typen kompatibel zu machen.
z.B. eine normale PEM Datei, welche mit apache funktionieren würde in eine PFX (PKCS#12) Datei umwandeln und mit Tomcat oder IIS zu benutzen.

DER nach PEM

openssl x509 -inform der -in certificate.cer -out certificate.pem

PEM nach DER

openssl x509 -outform der -in certificate.pem -out certificate.der

PKCS12/PFX (.p12/.pfx) nach PEM

openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes

(You can add -nocerts to only output the private key or add -nokeys to only output the certificates)

PEM nach PKCS12/PFX (.p12/.pfx)

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

Quelle: SSLShopper: The Most Common OpenSSL Commands

CA erstellen und mit dieser ein Zertifikat erstellen

Mit den nachfolgenden Befehlen kann man schnell eine CA erstellen udn damit ein Zertifikat signieren:

# Key erstellen
openssl genrsa -out ca.key 2048
# Root-CA Zertifikat mit diesem key erstellen
openssl req -x509 -new -nodes -key ca.key -sha256 -days 1024 -out ca.crt
 
## Zertifikat für domain: "example.org" erstellen
# Key für cert erstellen:
openssl genrsa -out example.org.key 2048
# CSR mit diesem key erstellen
openssl req -new -key example.org.key -out example.org.csr
# Zertifikat erstellen und mit der Root-CA signieren:
openssl x509 -req -in example.org.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out example.org.crt -days 500 -sha256

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.