Alle SSL-Artikel SSL & Zertifikate

OpenSSL-Befehle Spickzettel fuer SSL-Zertifikate

OpenSSL ist das Schweizer Taschenmesser fuer SSL/TLS-Zertifikate. Jeder andere Artikel auf dieser Seite verweist auf OpenSSL-Befehle — diese Seite fasst sie alle an einem Ort zusammen.

Zertifikat pruefen

Zertifikatsdetails anzeigen (Remote-Server)

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -text

Ablaufdatum pruefen

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate

Subject und SANs pruefen

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -subject -ext subjectAltName

Aussteller pruefen (welche CA)

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -issuer

Lokale Zertifikatsdatei pruefen

openssl x509 -in cert.pem -noout -text
openssl x509 -in cert.pem -noout -dates          # Nur die Daten
openssl x509 -in cert.pem -noout -subject         # Nur der Subject
openssl x509 -in cert.pem -noout -ext subjectAltName  # Nur die SANs

Zertifikatskette verifizieren

Kettenstaendigkeit pruefen (Remote)

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null
# Achten Sie auf:
#   Verify return code: 0 (ok)          <- Kette ist vollstaendig
#   Verify return code: 21 (unable to verify) <- Kette ist unvollstaendig

Zertifikat gegen eine Kettendatei verifizieren

openssl verify -CAfile chain.pem cert.pem
# Erwartet: cert.pem: OK

Pruefen, ob Zertifikat und Schluessel uebereinstimmen

# Diese beiden Hashes muessen identisch sein
openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in privkey.pem | openssl md5
# Fuer ECDSA-Schluessel:
openssl ec -in privkey.pem -pubout 2>/dev/null | openssl md5
openssl x509 -in cert.pem -pubkey -noout | openssl md5

Schluessel generieren

ECDSA P-256 (empfohlen)

openssl ecparam -genkey -name prime256v1 -noout -out privkey.pem

RSA 2048

openssl genrsa -out privkey.pem 2048

RSA 4096

openssl genrsa -out privkey.pem 4096

CSR generieren

ECDSA

openssl req -new -key privkey.pem -out csr.pem -subj "/CN=example.com"

Mit SANs (Multi-Domain)

openssl req -new -key privkey.pem -out csr.pem \
  -subj "/CN=example.com" \
  -addext "subjectAltName=DNS:example.com,DNS:www.example.com"

CSR ueberpruefen

openssl req -in csr.pem -noout -text

Was ist ein CSR? ->

Zwischen Formaten konvertieren

PEM -> PFX (fuer Windows/IIS)

openssl pkcs12 -export -out cert.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem

PFX -> PEM

openssl pkcs12 -in cert.pfx -clcerts -nokeys -out cert.pem
openssl pkcs12 -in cert.pfx -nocerts -nodes -out privkey.pem
openssl pkcs12 -in cert.pfx -cacerts -nokeys -out chain.pem

PEM -> DER

openssl x509 -in cert.pem -outform DER -out cert.der

DER -> PEM

openssl x509 -in cert.der -inform DER -outform PEM -out cert.pem

Zertifikatsformate erklaert ->

TLS-Verbindungen debuggen

Testen, welche TLS-Version ausgehandelt wird

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | grep "Protocol"

Eine bestimmte TLS-Version testen

# TLS 1.2 testen
echo | openssl s_client -connect example.com:443 -servername example.com -tls1_2 2>/dev/null | grep "Protocol"

# TLS 1.3 testen
echo | openssl s_client -connect example.com:443 -servername example.com -tls1_3 2>/dev/null | grep "Protocol"

Den vollstaendigen Handshake anzeigen

openssl s_client -connect example.com:443 -servername example.com -msg

Unterstuetzte Cipher Suites pruefen

# Alle Ciphers auflisten, die der Server akzeptiert
nmap --script ssl-enum-ciphers -p 443 example.com

Selbstsigniertes Zertifikat generieren (nur fuer Entwicklung)

openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout key.pem -out cert.pem -days 365 -nodes \
  -subj "/CN=localhost" \
  -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"

Fuer vertrauenswuerdiges localhost-HTTPS verwenden Sie stattdessen mkcert.

fullchain.pem aus separaten Dateien erstellen

cat cert.pem chain.pem > fullchain.pem

Die Reihenfolge ist wichtig: zuerst Ihr Zertifikat, dann die Zwischenzertifikate.

Haeufig gestellte Fragen

Wie installiere ich OpenSSL?

Die meisten Linux-Distributionen enthalten es bereits. Auf macOS: brew install openssl. Auf Windows: Installation ueber Git for Windows (enthaelt OpenSSL) oder Chocolatey (choco install openssl).

Was ist der Unterschied zwischen openssl x509 und openssl s_client?

x509 liest eine lokale Zertifikatsdatei. s_client verbindet sich mit einem Remote-Server und ruft dessen Zertifikat ab. Verwenden Sie s_client, um einen Live-Server zu pruefen; verwenden Sie x509, um eine Datei auf der Festplatte zu inspizieren.

Warum zeigen meine Befehle “unable to load certificate” an?

Die Datei ist wahrscheinlich DER-kodiert (binaer), nicht PEM (Text). Fuegen Sie -inform DER zum Befehl hinzu:

openssl x509 -in cert.der -inform DER -noout -text

Verwandte Artikel

Bereitstellung 2026-05-07
So überprüfen Sie den Ablauf eines SSL-Zertifikats
Prüfen Sie, wann Ihr SSL-Zertifikat abläuft — mit dem Browser, OpenSSL oder Online-Tools. Richten Sie Monitoring ein, um unerwarteten Ablauf und Ausfallzeiten zu vermeiden.
SSL & Zertifikate 2026-05-07
SSL-Zertifikatsformate: PEM, PFX, DER erklaert
Verstehen Sie die Zertifikatsformate PEM, PFX/PKCS#12 und DER. Erfahren Sie, welches Format Ihr Server benoetigt und wie Sie mit OpenSSL zwischen ihnen konvertieren.
SSL & Zertifikate 2026-05-07
Die Zertifikats-Vertrauenskette erklaert
Wie Browser SSL-Zertifikate ueber eine Kette von der Root-CA ueber die Intermediate-CA bis zu Ihrem Zertifikat verifizieren. Erfahren Sie, warum die Kettenreihenfolge wichtig ist und wie Sie Fehler wie 'Zertifikat nicht vertrauenswuerdig' beheben.
SSL & Zertifikate 2026-05-07
ECC vs. RSA-Zertifikate: Welches sollten Sie waehlen?
Vergleich von ECC (ECDSA P-256) und RSA (2048/4096-Bit) Zertifikaten. ECC-Schluessel sind kleiner und schneller. Erfahren Sie, warum GetHTTPS standardmaessig ECC verwendet und wann RSA noch sinnvoll ist.
Kostenloses SSL-Zertifikat im Browser erhalten
Keine Installation, kein Konto. Ihr privater Schlüssel verlässt nie Ihr Gerät.
Zertifikat erhalten