Lösung für "certificate expired" und häufige SSL/TLS-Fehler: Ein vollständiger Leitfaden
SSL (Secure Sockets Layer) und der Nachfolger TLS (Transport Layer Security) sind die Protokolle, die das Internet sicher halten. Sie stellen sicher, dass die zwischen Ihrem Browser und einer Website übertragenen Daten verschlüsselt und privat bleiben. Wenn jedoch etwas mit einem Zertifikat nicht stimmt, zeigen Browser beängstigende Warnseiten an, die 99 % Ihrer Besucher abschrecken können.
In diesem Leitfaden erklären wir die häufigsten SSL/TLS-Fehler, warum sie auftreten und wie man sie sowohl als Benutzer als auch als Website-Besitzer beheben kann.
1. Häufige SSL/TLS-Fehlermeldungen
Je nach Browser (Chrome, Firefox, Safari) oder Entwicklungsumgebung (Node.js, Python) sehen Sie unterschiedliche Fehlercodes:
- Chrome:
ERR_CERT_DATE_INVALID(Zertifikatsdatum ungültig),ERR_CERT_AUTHORITY_INVALID,ERR_CERT_COMMON_NAME_INVALID,ERR_SSL_PROTOCOL_ERROR - Node.js:
CERT_HAS_EXPIRED,UNABLE_TO_VERIFY_LEAF_SIGNATURE,SELF_SIGNED_CERT_IN_CHAIN - Python (Requests):
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed - Firefox:
SEC_ERROR_EXPIRED_CERTIFICATE,MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT
2. Hauptursachen und Lösungen
2.1 "certificate expired" (ERR_CERT_DATE_INVALID)
SSL-Zertifikate werden für einen bestimmten Zeitraum ausgestellt (normalerweise 90 Tage bis 1 Jahr). Sobald dieses Datum überschritten ist, ist das Zertifikat nicht mehr gültig.
Die Ursache: Der Website-Besitzer hat vergessen, das Zertifikat zu erneuern, oder der automatische Erneuerungsprozess (wie Let's Encrypt) ist fehlgeschlagen.
Die Lösung:
- Für Website-Besitzer: Erneuern Sie Ihr Zertifikat umgehend. Wenn Sie Let's Encrypt verwenden, überprüfen Sie Ihre
certbot-Logs oder Ihre ACME-Client-Konfiguration. - Für Benutzer: Überprüfen Sie das Systemdatum und die Uhrzeit Ihres Computers. Wenn Ihre Uhr falsch geht, denkt der Browser, dass ein gültiges Zertifikat abgelaufen ist.
2.2 "self-signed certificate" (ERR_CERT_AUTHORITY_INVALID)
Standardmäßig vertrauen Browser nur Zertifikaten, die von einer bekannten "Zertifizierungsstelle" (CA) wie DigiCert oder Let's Encrypt ausgestellt wurden. Ein selbstsigniertes Zertifikat (self-signed certificate) ist eines, das Sie selbst erstellt haben.
Die Ursache:
- Verwendung eines selbstsignierten Zertifikats auf einer Produktions-Website.
- Eine private/unternehmensinterne CA, die nicht zum "Trusted Root"-Speicher Ihres Computers hinzugefügt wurde.
Die Lösung:
- Für die Produktion: Fordern Sie ein kostenloses Zertifikat von Let's Encrypt oder ein kostenpflichtiges von einer kommerziellen CA an.
- Für die Entwicklung: Es ist in Ordnung, selbstsignierte Zertifikate lokal zu verwenden, aber Sie müssen Ihren Tools mitteilen, dass sie ihnen vertrauen sollen, oder die Verifizierung umgehen (obwohl letzteres unsicher ist).
2.3 "certificate chain incomplete" (UNABLE_TO_VERIFY_LEAF_SIGNATURE)
Ein SSL-Zertifikat ist nicht nur eine Datei; es ist eine Vertrauenskette, die zurück zu einer Root-CA führt. Wenn ein "Zwischenzertifikat" (eine Intermediate CA) in Ihrer Serverkonfiguration fehlt, kann der Browser die Kette nicht verifizieren.
Die Ursache: Der Server liefert nur das "Leaf"-Zertifikat (der Website) aus und nicht die vollständige Kette oder "Fullchain" (Website + Intermediate).
Die Lösung:
Stellen Sie sicher, dass Ihr Webserver (Nginx, Apache) so konfiguriert ist, dass er die von Ihrer CA bereitgestellte Datei fullchain.pem (oder eine entsprechende Datei) verwendet.
2.4 "SSL handshake failed"
Dies ist ein allgemeiner Fehler, der während des anfänglichen "Handshakes" zwischen Client und Server auftritt.
Die Ursache:
- Protokoll-Mismatches (z. B. Client unterstützt nur TLS 1.0, aber Server erfordert TLS 1.3).
- Cipher-Suite-Mismatches.
- Serverseitige Firewall oder Proxy, die die Verbindung blockiert.
Die Lösung: Überprüfen Sie die TLS-Konfiguration Ihres Servers. Wir empfehlen die Verwendung des Mozilla SSL Configuration Generator, um sichere und kompatible Einstellungen zu erhalten.
3. Erweiterte Fehlerbehebung
3.1 SNI (Server Name Indication) Probleme
Auf modernen Servern, die mehrere Websites auf einer einzigen IP-Adresse hosten, muss der Server wissen, welches Zertifikat er zeigen soll. Wenn der Client SNI nicht unterstützt (heutzutage selten), zeigt der Server möglicherweise das falsche Zertifikat, was zu einem COMMON_NAME_INVALID-Fehler führt.
3.2 HSTS (HTTP Strict Transport Security)
Wenn eine Website HSTS verwendet, wird der Browser es dem Benutzer verweigern, bei einem SSL-Fehler "trotzdem fortzufahren". Dies ist eine Sicherheitsfunktion, um "Man-in-the-Middle"-Angriffe zu verhindern. Lösung: Sie müssen den SSL-Fehler beheben; es gibt keine Umgehung für HSTS.
4. Prävention und Best Practices
- Auto-Erneuerung: Verwenden Sie immer einen Dienst mit automatischer Erneuerung (wie Let's Encrypt mit Certbot oder das verwaltete SSL von Cloudflare).
- Monitoring: Verwenden Sie einen Dienst, um den Ablauf und den Zustand Ihres SSL-Zertifikats zu überwachen.
- Vollständige Kette verwenden: Stellen Sie in Ihrer Serverkonfiguration immer die vollständige Zertifikatskette bereit.
- Schwache Protokolle deaktivieren: Deaktivieren Sie SSLv2, SSLv3, TLS 1.0 und TLS 1.1. Erlauben Sie nur TLS 1.2 und 1.3.
5. FAQ: Häufig gestellte Fragen
F: Ist es sicher, bei einer SSL-Warnung auf "Trotzdem fortfahren" zu klicken?
A: Nur wenn Sie ein Entwickler sind, der seine eigene lokale Seite testet. Tun Sie dies niemals auf einer öffentlichen Website, insbesondere nicht bei Banken, E-Mails oder sozialen Medien, da Sie sich so anfällig für Datendiebstahl machen.
F: Warum funktioniert meine Seite auf dem Desktop, zeigt aber auf dem Handy einen SSL-Fehler?
A: Dies ist meist ein certificate chain incomplete (unvollständige Zertifikatskette) Problem. Desktop-Browser sind besser darin, fehlende Zwischenzertifikate "auszufüllen", während mobile Browser viel strenger sind.
F: Behebt Cloudflare SSL-Fehler?
A: Cloudflare kann SSL-Fehler zwischen dem Benutzer und Cloudflare verbergen, aber Sie benötigen immer noch ein gültiges Zertifikat (oder zumindest ein Cloudflare Origin-Zertifikat) zwischen Cloudflare und Ihrem Server, um vollständig sicher zu sein.
6. Schnell-Check-Tool
Müssen Sie ein Zertifikat inspizieren oder eine Kette überprüfen? Verwenden Sie unseren SSL Certificate Checker & Decoder. Damit können Sie:
- PEM- und CRT-Dateien dekodieren, um Ablaufdaten und Ausstellerinformationen zu sehen.
- Zertifikatsketten verifizieren und fehlende Zwischenzertifikate identifizieren.
- Zwischen Formaten konvertieren, wie PEM, DER und PFX.
Verwandte Fehler
- Lösung von 'Unexpected token in JSON'-Fehlern
- Behebung von 'invalid base64 string'-Fehlern
- Lösung von 'JWT expired' und häufigen JWT-Fehlern