s_client ·
Zertifikatsprüfung ·
Chain ·
Cipher ·
Fehlercodes ·
Tools
SSL/TLS-Fehler sind häufig und vielfältig. Diese Cheatsheet hilft Ihnen, Probleme mit Zertifikaten, Chains, Cipher Suites und Verbindungen systematisch zu diagnostizieren und zu beheben.
openssl s_client ist das wichtigste Tool für die SSL/TLS-Diagnose. Es baut eine TLS-Verbindung zum Server auf und zeigt detaillierte Informationen über Zertifikate, Cipher Suites und den Handshake.
| Option | Beschreibung |
|---|---|
| -connect host:port | Zielserver und Port (Standard: 443) |
| -showcerts | Alle Zertifikate der Kette anzeigen |
| -servername host | SNI (Server Name Indication) setzen |
| -tls1_2 / -tls1_3 | Bestimmte TLS-Version erzwingen |
| -ciphers 'CIPHER' | Bestimmte Cipher Suites testen |
| -verify [depth] | Zertifikatsvalidierung aktivieren |
| -CApath / -CAfile | CA-Verzeichnis/Datei für Validierung |
| -tlsextdebug | TLS-Erweiterungen debuggen |
| -brief | Kompakte Ausgabe |
openssl s_client -connect example.com:443 ist der erste Befehl bei SSL-Problemen. Wenn Sie keine Verbindung aufbauen können, prüfen Sie Firewall, Port und DNS.
Zertifikatsprüfung – Mit OpenSSL können Sie Zertifikate im Detail analysieren: Gültigkeitszeitraum, Subject, Aussteller, SAN und Fingerprints.
openssl x509 -in server.crt -enddate -noout zeigt das Ende der Gültigkeit. Let's Encrypt-Zertifikate sind 90 Tage gültig.
Zertifikatskette – Fehlende Intermediate-CAs sind eine der häufigsten Ursachen für SSL-Fehler. Die Chain muss vom Server-Zertifikat über die Intermediate(s) bis zur vertrauenswürdigen Root-CA vollständig sein.
Cipher Suites & Protokolle – Fehler bei der Cipher-Aushandlung treten häufig auf, wenn Client und Server keine gemeinsame Cipher Suite unterstützen.
openssl ciphers -v, um zu sehen, welche Cipher Ihre OpenSSL-Version unterstützt. Mit -cipher bei s_client können Sie gezielt testen.
Häufige SSL/TLS-Fehler – Die häufigsten Fehlermeldungen und ihre Lösungen. Viele Probleme lassen sich mit OpenSSL schnell diagnostizieren.
| Fehlermeldung | Ursache | Lösung |
|---|---|---|
| unable to get local issuer certificate | Intermediate-CA nicht im Trust Store | Kette vervollständigen (fullchain.pem) |
| self-signed certificate | Zertifikat nicht von vertrauenswürdiger CA | Offizielles Zertifikat oder CA importieren |
| certificate has expired | Zertifikat abgelaufen | Erneuern (Let's Encrypt, kaufen) |
| certificate is not yet valid | Systemzeit falsch | NTP-Synchronisation prüfen (date) |
| no shared cipher | Keine gemeinsame Cipher | Cipher-Liste anpassen |
| wrong version number | Falsches Protokoll (z.B. TLS vs. SSL) | Protokollversion prüfen |
| certificate revoked | Zertifikat wurde widerrufen | OCSP/CRL prüfen, neues Zertifikat |
| hostname mismatch | CN/SAN stimmt nicht mit Domain überein | Richtiges Zertifikat für Domain |
Tools & Ressourcen – Eine Sammlung von Web-Tools und Kommandozeilen-Tools für die SSL/TLS-Fehlersuche und -Konfiguration.
| Tool | Beschreibung | URL / Befehl |
|---|---|---|
| SSL Labs | Umfassender SSL/TLS-Test (A+ bis F) | https://www.ssllabs.com/ssltest/ |
| Security Headers | Prüft Security Headers (HSTS, CSP, etc.) | https://securityheaders.com/ |
| HSTS Preload | Für die HSTS Preload List | https://hstspreload.org/ |
| Mozilla SSL Config | Generator für sichere Konfigurationen | https://ssl-config.mozilla.org/ |
| OpenSSL | Kommandozeilen-Tool | openssl s_client, verify, x509 |
| certbot | Let's Encrypt-Client | certbot certonly --standalone |
| dig +dnssec | DANE/TLSA prüfen | dig +dnssec _443._tcp.example.com TLSA |
| testssl.sh | Erweiterter SSL-Test (Kommandozeile) | git clone https://github.com/drwetter/testssl.sh |
s_client
x509
verify
ciphers
Fehler
Tools
openssl s_client -connect example.com:443 ·
openssl x509 -in server.crt -text -noout ·
openssl verify -CAfile root.pem -untrusted inter.pem server.crt