Viele Optionen und Default-Einstellungen können entweder über die OpenSSL-Konfigurationsdatei oder über Kommandozeilen-Parameter gesetzt und verändert werden. Kommandozeilen-Parameter übersteuern dabei jeweils die Angaben in der Konfigurationsdatei.
Wenn man nicht explizit eine Konfigurationsdatei angibt, wird die System-Standard-Konfigurationsdatei verwendet (meist /etc/ssl/openssl.cnf o.ä.).
Die openssl(1) man Page führt alle Kommandos auf; die Details zu den einzelnen Standardbefehlen sind in eigenen man Pages aufgeführt (zB man smime oder man genrsa). Die Online-Dokumentation auf http://www.openssl.org/docs/apps/openssl.html ist grösstenteils identisch mit den man Pages.
Konfigurationsdatei spezifizieren
openssl <Kommando> -config <Datei>
Nicht alle Kommandos akzeptieren die Angabe von config.
Private Schlüssel erzeugen
- Mit Passwort:
openssl genrsa (-aes256|-des3) -out <key.pem> (512|1024|2048)
- Ohne Passwort (für Server!):
openssl genrsa -out <key.pem> (512|1024|2048)
X.509 Zertifikat erzeugen
- CSR aus privatem Schlüssel erzeugen:
openssl req -new -x509 -days 1095 -key <key.pem> -out <csr.pem>
- Zertifikat aus CSR erzeugen:
openssl ca -cert <ca-certificate.pem> -keyfile <ca-key.pem> -in <csr.pem> -out <cert.pem>
X.509 Zertifikat anzeigen
- Als Text:
openssl x509 -in <cert.pem> -text
- Einsatzzwecke:
openssl x509 -in <cert.pem> -noout -purpose
- Hash:
openssl x509 -in <cert.pem> -noout -hash
- Details:
openssl asn1parse -i -in <PEM or DER file> -dump
X.509 Zertifikatsformate umwandeln
- Privaten Schlüssel und Zertifikat nach PKCS#12 (zB zum Import in Thunderbird oder Firefox):
openssl pkcs12 -export -inkey <key.pem> -in <cert.pem> -certfile <ca-cert.pem> -out <some.p12>
- DER in PEM umwandeln:
openssl x509 -inform DER -in <some.crt> -outform PEM -out <some.pem>
- Zertifikate aus PKCS#7 extrahieren:
openssl pkcs7 -inform PEM -in <some.p7b> -print_certs -out <some.pem>
S/MIME
- Verschlüsseln an B:
openssl smime -encrypt -in <Datei> -nodetach -outform PEM <b.cert.pem>
- Entschlüsseln durch B:
openssl smime -decrypt -in <Datei> -recip <b.cert.pem> -inkey <b.key.pem>
- Signieren durch A:
openssl smime -sign -in <Datei> -signer <a.cert.pem> -inkey <a.key.pem>
- Verifizieren duch B:
openssl smime -verify -in <Datei> -signer <a.cert.pem>
Debugging mit OpenSSL als Client
- SMTP/TLS-Sitzung:
openssl s_client -starttls smtp -CApath </path/to/cacerts/> -cert <user-cert.pem> -key <user-key.pem> -connect localhost:25 (-ssl2|-ssl3|-tls1)
Der erste Teil ging um das Erstellen eines Zertifikates mit SelfSSL. Jetzt kommt das wesentlich mächtigere allerdings auch kompexere Tool OpenSSL zum Zuge.Das Tool OpenSSL ist da schon ein wenig komplexer zu bedienen, kann dafür aber auch als Ce
Tracked: Jun 10, 22:36