OpenSSL-Befehlsreferenz
Inhaltsverzeichnis:
RSA-Schlüsselpaar erzeugen
Schritt 1: Private Key (RSA) erzeugen:
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out private.pem
Schritt 2: Öffentlichen Schlüssel aus dem Private Key extrahieren:
openssl rsa -in private.pem -outform PEM -pubout -out public.pem
Private Key im PKCS#1-Format erzeugen
openssl genrsa --traditional -out private.pem 2048
Wird meist nicht mehr benötigt
ED22519-Schlüsselpaar erzeugen
ED22519 = Mit elliptischen Kurven
Schritt 1: Private Key (ED22519) erzeugen:
openssl genpkey -algorithm ed25519 -out private.pem
Schritt 2: Öffentlichen Schlüssel aus dem Private Key extrahieren:
openssl pkey -in private.pem -pubout -out public.pem
CSR erzeugen
Zuerst muss ein Schlüsselpaar erstellt werden (siehe oben)
CSR aus dem Private Key erzeugen:
openssl req -new -key private.pem -out my.csr
Inhalt des CSR ausgeben
openssl req -noout -text -in my.csr
SSH-Schlüssel erzeugen
SSH-Schlüssel mit ED22519:
ssh-keygen -t ed25519
Ver- und Entschlüsseln
Verschlüsselten Schlüssel wieder entschlüsseln
openssl key -in rsa.pem -out ohne_pw.pem
Schlüssel auslesen
Öffentliches Zertifikat eines Webservers auslesen
openssl s_client -showcerts -connect example.com:443
Öffentliches Zertifikat eines Webservers in Datei speichern
openssl s_client -showcerts -connect example.com:443 </dev/null > cert.crt
P12-Datei auslesen - auch verschlüsselt
openssl pkcs12 -in Datei.p12 -info
Zertifikats-Datei (CER) auslesen
openssl x509 -noout -text -in cert.cer
CommonName bzw. X509v3 Subject Alternative Name sind hier vor allem interessant.
Public Key-Infos auslesen
Man hat eine Datei mit dem Public Key-Inhalt (“Begin Public Key”) und möchte die Infos zum Zertifikat auslesen.
echo "Inhalt Public Key" | openssl x509 -text -noout
oder man hat eine entspr. Datei:
cat publickey.crt | openssl x509 -text -noout
Einsatzzweck (Purpose) auslesen
Den erlaubten Einsatzzweck eines Public Keys auslesen:
openssl x509 -purpose -in cert.crt
CRL-Infos auslesen
Man möchte die CRL-URLs auslesen:
Zuerst das Zertifikat herunterladen:
openssl s_client -showcerts -connect example.com:443 </dev/null > cert.crt
Jetzt die CRL-URLs auslesen die hinterlegt sind:
openssl x509 -in cert.crt -noout -ext crlDistributionPoints
Falls keine URLs hinterlegt sind, wird vermutlich OCSP verwendet.
OCSP-Anfrage stellen
Prüfen ob ein Zertifikat widerrufen wurde:
openssl s_client -showcerts -connect example.com:443 </dev/null > cert.crt
openssl x509 -in cert.crt -noout -ext authorityInfoAccess
curl -L <CA-Issuer-URI> > intermediate.crt
openssl ocsp -issuer intermediate.crt -cert cert.crt -url <OCSP-URI>