Fehlermeldung
net::ERR_CERT_AUTHORITY_INVALID
Die Warnseite zeigt den Code als „NET::ERR_CERT_AUTHORITY_INVALID“; Automatisierungstools (Logs von Playwright, Puppeteer, Selenium) melden „net::ERR_CERT_AUTHORITY_INVALID“ – genau das gibt auch unsere Headless-Reproduktion aus. Edge und andere Chromium-Browser verwenden denselben Code.
Chrome, Edge and other Chromium browsers — certificate error interstitial "Your connection is not private"
Was der Fehler bedeutet
Chrome konnte das Zertifikat der Website nicht zu einem Root-Zertifikat verketten, dem es vertraut, und blockiert die Seite deshalb mit der Warnseite „Your connection is not private“. Mögliche Ursachen: Das Zertifikat ist selbstsigniert oder von einer privaten CA ausgestellt, der Server liefert es ohne sein Zwischenzertifikat aus, oder etwas, das die Verbindung abfängt, hat es ausgetauscht. Chrome nutzt unter Windows und macOS den Zertifikatsspeicher des Betriebssystems (und für öffentliche CAs seinen eigenen Chrome Root Store), unter Linux die NSS-Datenbank.
Warum der Fehler auftritt
Der Server sendet sein Zwischenzertifikat nicht
häufigChrome lädt fehlende Zwischenzertifikate oft selbst nach (AIA-Fetching) und speichert sie unter Umständen zwischen; deshalb scheitert dieselbe Fehlkonfiguration nur auf manchen Rechnern, in manchen Apps oder beim ersten Besuch.
Ein selbstsigniertes Zertifikat oder eines von einer privaten CA
häufigRouter, NAS-Geräte, Entwicklungsserver und Intranet-Websites mit Zertifikaten, die dem Browser nie als vertrauenswürdig bekannt gemacht wurden.
Etwas fängt die Verbindung ab
häufigHTTPS-Scans von Virenscannern, ein Firmen-Proxy, dessen Root-Zertifikat auf diesem Gerät fehlt, Captive Portals in öffentlichen WLANs oder ein echter Angreifer.
Ein veraltetes Betriebssystem oder ein veralteter Root Store
gelegentlichSehr alten Android- oder Windows-Installationen fehlen neuere öffentliche Root-Zertifikate, deshalb erscheinen moderne Zertifikate nur dort als nicht vertrauenswürdig.
So behebst du den Fehler
- 1.
Eigene Website: ausgelieferte Kette prüfen
Wird nur ein Zertifikat gesendet und ist sein Aussteller eine Zwischen-CA, ist die Serverkonfiguration unvollständig.
bash # Site owners: which certificates does the server send? (1 = intermediate missing) openssl s_client -connect www.example.com:443 -servername www.example.com -showcerts </dev/null 2>/dev/null \ | grep -E '^ *[0-9]+ s:|^ *i:' - 2.
Eigene Website: vollständige Kette ausliefern
Konfiguriere den Webserver mit der Fullchain-Datei, damit jeder Client (nicht nur Chrome) die Kette prüfen kann.
text # nginx: serve leaf + intermediates ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem; - 3.
Interne Websites: privates Root-Zertifikat auf verwalteten Geräten installieren
Verteile das Root-Zertifikat des Unternehmens über die Geräteverwaltung oder den Zertifikatsspeicher des Betriebssystems; unter Linux füge es der NSS-Datenbank hinzu, die Chrome liest.
bash # Internal sites: install the company root on the client (Chrome uses the OS store on # Windows and macOS; on Linux, the NSS database in ~/.pki/nssdb) certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n corp-root -i corp-root-ca.pem - 4.
Im Browser: vor allem anderen nachsehen, wer das Zertifikat ausgestellt hat
Die Zertifikatsanzeige nennt den Aussteller. Übergehe die Warnung („Proceed to … (unsafe)“) nur auf eigenen Geräten in Netzwerken, denen du vertraust; in unbekannten Netzwerken überlässt du damit deine Sitzung demjenigen, der das Zertifikat präsentiert hat.
text Click "Not secure" in the address bar → "Certificate details" and read the issuer. A company or security-vendor name on a public site = TLS inspection on your network. An unknown issuer on public Wi-Fi = do not proceed.