Zum Inhalt
Website-Checkvon pandaworks

← Alle Punkte · Sicherheit

TLS-Zertifikat

Was geprüft

Ausgewertet wird das Zertifikat der HTTPS-Antwort: Prüfung durch anerkannte Zertifizierungsstellen, Hostname, Gültigkeitszeitraum und mitgelieferte Zertifikatskette. Abgelaufen, noch nicht gültig, falscher Hostname, selbstsigniert oder aus anderem Grund nicht anerkannt ergibt Kritisch; fehlt das Zwischenzertifikat, ist das ein eigener auffälliger Punkt (Mittel). Läuft das Zertifikat in höchstens 7 Tagen ab, ist das Hoch, in höchstens 21 Tagen Niedrig.

Wie relevant

Kritisch bei einem ungültigen Zertifikat, weil Browser die Seite dann mit einer Warnseite blockieren; das begrenzt die Kategorie auf höchstens 49 von 100. Mittel bei unvollständiger Kette, weil manche Browser das Zwischenzertifikat selbst ergänzen, andere Programme aber abbrechen. Hoch beziehungsweise Niedrig bei nahem Ablauf, weil die automatische Verlängerung dann offenbar nicht greift.

Warum

Ein ungültiges Zertifikat zeigt Besuchern eine ganzseitige Warnung; viele Besucher brechen dort ab. Suchmaschinen-Crawler, Zahlungsdienste, Webhooks und Apps verweigern die Verbindung ganz. Eine unvollständige Kette fällt oft erst auf, wenn ein Partnerdienst keine Verbindung mehr bekommt.

Wie beheben

Lassen Sie das Zertifikat über Ihren Hoster oder einen ACME-Client automatisch verlängern und prüfen Sie, ob die Verlängerung tatsächlich läuft. Das Zertifikat muss alle genutzten Hostnamen enthalten, in der Regel beispiel.de und www.beispiel.de. Liefern Sie die vollständige Kette aus (Datei fullchain.pem statt cert.pem).

Nebenwirkung: Nach dem Tausch der Zertifikatsdatei braucht der Webserver einen Reload, sonst liefert er weiter das alte Zertifikat. Ein CAA-Eintrag im DNS kann die Ausstellung bei einer anderen Zertifizierungsstelle verhindern (siehe Prüfung „CAA“). Testen Sie danach mit openssl s_client, ob Kette und Hostname stimmen.

WordPress: Bei verwalteten WordPress-Hostern verlängert der Hoster das Zertifikat. Läuft es trotzdem ab, liegt die Ursache oft in einer umgezogenen DNS-Zone oder einem fehlenden www-Eintrag, sodass die Validierung scheitert.

Codebeispiel

Prüfen mit openssl

openssl s_client -connect beispiel.de:443 -servername beispiel.de -showcerts </dev/null
# Ablaufdatum anzeigen
openssl s_client -connect beispiel.de:443 -servername beispiel.de </dev/null 2>/dev/null | openssl x509 -noout -enddate

Apache (ab 2.4.8, vollständige Kette)

SSLCertificateFile    /etc/letsencrypt/live/beispiel.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/beispiel.de/privkey.pem

nginx (vollständige Kette)

ssl_certificate     /etc/letsencrypt/live/beispiel.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/beispiel.de/privkey.pem;

Weiterführende Quellen

Quellen der Methodik

  • docs/SCORING.md — Status und Schweregrade (§2), Kategoriescore und Abdeckung (§3), Gesamtwert (§4), keine Doppelabzüge (§5), Prüfkatalog mit Gewichten (§6), Versionierung (§8), Formulierungsregeln (§9), bewusst nicht geprüft (§10)
  • docs/KALIBRIERUNG.md — Abgleich der Schwerefaktoren und Kappen mit externen Ankern (Web Almanac, Lighthouse, MDN HTTP Observatory, SSL Labs), Entscheidung scoring@1.4.0