SSL-Befehle

Aus Doku-Wiki
Zur Navigation springenZur Suche springen

Die Gültigkeitsdauer eines Zertifikates anzeigen

 echo | openssl s_client -servername [SERVERNAME] -connect [DOMAIN:PORT] 2>/dev/null | openssl x509 -noout -dates
 echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
 echo | openssl s_client -connect [DOMAIN:PORT] 2>/dev/null | openssl x509 -noout -dates
 echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
  • SMTP ABfrage
echo | openssl s_client -starttls smtp -showcerts -connect SERVERNAME:25 -servername SERVERNAME | openssl x509 -noout -dates

Einen SSL-Port auf Zertifikate abfragen

openssl s_client -connect localhost:443 -showcerts

Mailserver Zertifikat und verfügbare Protokolle anzeigen

echo | openssl s_client -starttls smtp -connect mail.example.com:25

Ein SSL-Zertifikat prüfen

openssl verify -CApath /etc/pki/tls/certs -verbose <zertifikatsname.crt>

Herausgeber des Zertifikats ausgeben

openssl x509 -noout -issuer -in <zertifikatsname.crt>

Zertifikats-Fingerprint ermitteln

openssl x509 -noout -fingerprint -in <zertifikatsname.crt>

SSL-Zertifikat anzeigen

# Zertifikat komplett anzeigen
openssl x509 -text -in <zertifikatsname.crt>

# Komplette Anzeige ohne Zertifiaktstext anzeigen
openssl x509 -noout -text -in <zertifikatsname.crt>

# den Herausgeber des Zertifikats anzeigen
openssl x509 -noout -issuer -in <zertifikatsname.crt>

# Für wen wurde das Zertifikat ausgestellt?
openssl x509 -noout -subject -in <zertifikatsname.crt>

# Für welchen Zeitraum ist das Zertifikat gültig?
openssl x509 -noout -dates -in <zertifikatsname.crt>

# das obige kombiniert anzeigen
openssl x509 -noout -issuer -subject -dates -in <zertifikatsname.crt>

# den hash anzeigen
openssl x509 -noout -hash -in <zertifikatsname.crt>

# den MD5-Fingerprint anzeigen
openssl x509 -noout -fingerprint -in <zertifikatsname.crt>

einen CSR (Zertifikatsrequest) anzeigen

openssl req -noout -text -in <request.csr>

Passphrase für ein Keyfile entfernen

openssl rsa -in <zertifikatsname.key> -out <neueskeyfile.key>

Passphrase für ein Keyfile ändern

openssl rsa -des3 -in <zertifikatsname.key> -out <neueskeyfile.key>

Zertifikat in anderes Format wandeln

Formate

  • DER Format

Das DER Format ist eine binäre Form eines Zertifikates, statt des ASCII-PEM Formats

  • PKCS#7/P7B Format

Es wird in der Regel in Base64 ASCII-Format gespeichert und hat eine Dateiendung von P7B oder .p7c. P7B. Ein P7B Datei enthält nur Zertifikate und Kettenzertifikate, nicht den privaten Schlüssel. Einige Plattformen unterstützen P7B Dateien, einschließlich Microsoft Windows und Java Tomcat.

  • PKCS#12/PFX Format

Es ist ein binäres Format zum Speichern der Server-Zertifikat, aller Zwischenzertifikate und des privaten Schlüssels in einer verschlüsselten Datei. PFX-Dateien haben in der Regel Erweiterungen wie .pfx und .p12. PFX-Dateien sind in der Regel auf Windows-Rechnern verwendet, Import und Export von Zertifikaten und privaten Schlüsseln.

konvertieren

  • PEM --> PFX (*.p12 *.pfx)
openssl pkcs12 -export -in Zertifikat.crt.pem -inkey Zertifikat.key.pem -out Zertifikat.p12 -certfile SSLCertifikateChainFile.pem
  • PEM --> DER
openssl x509 -outform der -in certificate.pem -out certificate.der
  • PEM --> P7B
openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
  • DER --> PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
  • P7B --> PEM
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
  • P7B --> PFX
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
  • PFX --> PEM
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

Einen CSR + Keyfile erzeugen

(für die Beantragung eines Zertifikats). Das <zertifikatsname.csr> sendet man danach an die zertifizierende Stelle, z.B. Thawte etc.

# 2048 Bit RSA-Key erzeugen
openssl genrsa -out <zertifikatsname.key> 2048
# den CSR dazu erzeugen
openssl req -new -key <zertifikatsname.key> -out <zertifikatsname.csr>
# den Key mit einer Passphrase versehen
openssl rsa -des3 -in <zertifikatsname.key> -out <zertifikatsname.key.sec>