NET::ERR_CERT_AUTHORITY_INVALID: Jak naprawić (Chrome, Edge, Firefox)

Czym jest NET::ERR_CERT_AUTHORITY_INVALID?
NET::ERR_CERT_AUTHORITY_INVALID to błąd bezpieczeństwa przeglądarki, który pojawia się, gdy Chrome, Edge lub inna przeglądarka oparta na Chromium nie ufa urzędowi certyfikacji (CA), który podpisał certyfikat SSL strony. Przeglądarka blokuje połączenie i wyświetla ostrzeżenie Twoje połączenie nie jest prywatne, aby chronić Cię przed potencjalnie fałszywymi stronami internetowymi.
W przeciwieństwie do ERR_SSL_PROTOCOL_ERROR, który oznacza, że sam handshake TLS się nie powiódł, ERR_CERT_AUTHORITY_INVALID oznacza, że handshake został zakończony, ale etap walidacji certyfikatu się nie powiódł. Przeglądarka otrzymała certyfikat, sprawdziła go i uznała za niezaufany.
Wewnętrzny kod błędu Chromium to net::ERR_CERT_AUTHORITY_INVALID (kod błędu -202). Należy do rodziny błędów certyfikatów, która obejmuje powiązane błędy, takie jak ERR_CERT_DATE_INVALID i ERR_SSL_VERSION_OR_CIPHER_MISMATCH.
Jak ERR_CERT_AUTHORITY_INVALID wygląda w różnych przeglądarkach
Różne przeglądarki wyświetlają różne komunikaty błędów dla tego samego problemu. Wiedza, czego szukać, pomaga zdiagnozować, czy masz do czynienia z problemem urzędu certyfikacji, czy innym błędem SSL.
| Przeglądarka | Tytuł strony błędu | Kod błędu |
|---|---|---|
| Chrome | Twoje połączenie nie jest prywatne | NET::ERR_CERT_AUTHORITY_INVALID |
| Edge | Twoje połączenie nie jest prywatne | NET::ERR_CERT_AUTHORITY_INVALID |
| Firefox | Ostrzeżenie: Potencjalne zagrożenie bezpieczeństwa | SEC_ERROR_UNKNOWN_ISSUER lub MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT |
| Safari | To połączenie nie jest prywatne | Brak konkretnego kodu błędu |
| Opera | Twoje połączenie nie jest prywatne | NET::ERR_CERT_AUTHORITY_INVALID |
| Brave | Twoje połączenie nie jest prywatne | NET::ERR_CERT_AUTHORITY_INVALID |
Jak działa zaufanie certyfikatu SSL (łańcuch zaufania)
Aby zrozumieć, dlaczego ten błąd występuje, musisz wiedzieć, jak przeglądarki weryfikują certyfikaty SSL. Każdy certyfikat jest częścią łańcucha zaufania, który prowadzi z powrotem do głównego urzędu certyfikacji (Root CA).
Gdy Twoja przeglądarka łączy się ze stroną przez HTTPS, serwer wysyła swój certyfikat SSL wraz z certyfikatami pośrednimi. Przeglądarka następnie przechodzi przez łańcuch: sprawdza, czy certyfikat liściowy (certyfikat strony) został podpisany przez pośredni CA, i czy pośredni CA został podpisany przez główny CA, któremu przeglądarka już ufa. Nowoczesne przeglądarki i systemy operacyjne są dostarczane z około 150 preinstalowanymi certyfikatami głównych CA od organizacji takich jak DigiCert, Let's Encrypt (ISRG Root), Sectigo i GlobalSign.
Jeśli jakiekolwiek ogniwo w tym łańcuchu jest zerwane — brakuje głównego CA, certyfikat pośredni nie jest dołączony lub podpisujący CA nie jest rozpoznawany — przeglądarka wyświetla ERR_CERT_AUTHORITY_INVALID. Bardziej szczegółowe wyjaśnienie znajdziesz w naszym poradniku czym jest łańcuch certyfikatów SSL.
Główny CA (Root CA) — samopodpisany, preinstalowany w magazynie zaufania systemu/przeglądarki (~150 zaufanych certyfikatów głównych)
Pośredni CA — podpisany przez główny CA, musi być wysłany przez serwer podczas handshake'u TLS
Certyfikat liściowy — certyfikat Twojej strony, podpisany przez pośredni CA
Walidacja — przeglądarka przechodzi łańcuch od liścia do korzenia; każdy podpis musi być zweryfikowany
Co powoduje NET::ERR_CERT_AUTHORITY_INVALID?
Ten błąd ma zarówno przyczyny po stronie serwera (problem strony), jak i po stronie klienta (problem Twojego urządzenia). Jeśli błąd pojawia się na jednej stronie, problem jest prawie na pewno po stronie serwera. Jeśli pojawia się na wielu lub wszystkich stronach HTTPS, problem jest po Twojej stronie.
| Przyczyna | Strona | Częstotliwość | Szybka weryfikacja |
|---|---|---|---|
| Certyfikat samopodpisany | Serwer | Bardzo częste | Sprawdź wystawcę certyfikatu w kłódce przeglądarki |
| Brakujący certyfikat pośredni | Serwer | Częste | Użyj SSL Checker DNS Robot do sprawdzenia łańcucha |
| Wygasły certyfikat SSL | Serwer | Częste | Sprawdź daty certyfikatu w przeglądarce lub SSL Checker |
| Certyfikat wydany dla złej domeny | Serwer | Okazjonalne | Porównaj CN/SAN certyfikatu z domeną URL |
| Nieprawidłowa data/czas systemowy | Klient | Częste | Sprawdź zegar urządzenia |
| Przestarzały system lub przeglądarka | Klient | Częste | Brakujące nowe główne CA jak ISRG Root X1 |
| Przechwytywanie SSL przez antywirus | Klient | Umiarkowane | Antywirus zastępuje certyfikat własnym CA |
| Firmowy proxy/firewall | Klient | Umiarkowane | Proxy MITM wstrzykuje niezaufany certyfikat |
| Przestarzały certyfikat w pamięci podręcznej | Klient | Okazjonalne | Stary certyfikat w pamięci SSL przeglądarki |
| Ingerencja rozszerzenia przeglądarki | Klient | Rzadkie | Rozszerzenia VPN lub bezpieczeństwa modyfikują ruch |
Rozwiązania dla odwiedzających (strona klienta)
Jeśli widzisz NET::ERR_CERT_AUTHORITY_INVALID podczas przeglądania strony, która nie należy do Ciebie, wypróbuj te rozwiązania po kolei. Zacznij od najszybszych sprawdzeń — problem jest często prostszy niż myślisz.
Rozwiązanie 1: Sprawdź datę i godzinę systemową
Nieprawidłowy zegar systemowy jest jedną z najczęściej pomijanych przyczyn błędów certyfikatów. Certyfikaty SSL mają okno ważności (daty Nie przed i Nie po). Jeśli Twoje urządzenie myśli, że jest rok 2020, gdy faktycznie jest 2026, certyfikat wydany w 2025 wygląda na jeszcze nieważny i przeglądarka go odrzuca.
To rozwiązanie zajmuje 10 sekund i naprawia problem częściej niż ludzie się spodziewają — szczególnie po awarii baterii BIOS, przywróceniu migawki maszyny wirtualnej lub dryfie czasu w dual-boot.
# Windows — sprawdź i zsynchronizuj czas systemowy
w32tm /query /status
w32tm /resync
# macOS — włącz automatyczną synchronizację czasu
sudo sntp -sS time.apple.com
# Linux — synchronizuj z NTP
sudo timedatectl set-ntp true
timedatectl statusRozwiązanie 2: Wypróbuj tryb incognito/prywatny
Otwarcie strony w oknie incognito wyklucza jednocześnie pamięć cache przeglądarki, pliki cookie i ingerencję rozszerzeń. Jeśli strona ładuje się prawidłowo w trybie incognito, problemem jest buforowany stan certyfikatu lub źle działające rozszerzenie — nie sama strona.
Aby otworzyć tryb incognito: naciśnij Ctrl+Shift+N w Chrome lub Edge, lub Ctrl+Shift+P w Firefox.
Rozwiązanie 3: Wyczyść pamięć cache i pliki cookie przeglądarki
Przeglądarki buforują informacje o certyfikatach SSL, aby przyspieszyć kolejne połączenia. Jeśli strona niedawno odnowiła lub wymieniła swój certyfikat, Twoja przeglądarka może wciąż przechowywać stary (nieprawidłowy) certyfikat w pamięci cache, powodując błąd ERR_CERT_AUTHORITY_INVALID, mimo że serwer ma teraz ważny certyfikat.
# Chrome: Wyczyść pamięć cache skrótem klawiszowym
# Windows/Linux: Ctrl+Shift+Delete
# macOS: Cmd+Shift+Delete
# Wybierz "Obrazy i pliki w pamięci cache" oraz "Pliki cookie" → Wyczyść dane
# Firefox: Wyczyść pamięć cache
# Ctrl+Shift+Delete → wybierz "Pamięć cache" i "Ciasteczka" → Wyczyść terazRozwiązanie 4: Wyczyść stan SSL (Windows)
Windows utrzymuje oddzielną pamięć cache certyfikatów SSL na poziomie systemu operacyjnego, niezależną od pamięci cache przeglądarki. Wyczyszczenie tej pamięci zmusza Windows do ponownego pobrania i ponownej walidacji certyfikatów od zera.
# Metoda 1: Przez Opcje internetowe
# Otwórz Opcje internetowe (inetcpl.cpl) → zakładka Zawartość → przycisk "Wyczyść stan SSL"
# Metoda 2: Przez wiersz poleceń
# Otwórz Wiersz poleceń jako Administrator:
certutil -URLcache * deleteRozwiązanie 5: Wyłącz rozszerzenia przeglądarki
Rozszerzenia bezpieczeństwa, rozszerzenia VPN, blokery reklam i narzędzia prywatności mogą zakłócać połączenia SSL. Niektóre rozszerzenia działają jako lokalny proxy, przechwytując ruch HTTPS i zastępując certyfikaty — co wywołuje ERR_CERT_AUTHORITY_INVALID.
Tymczasowo wyłącz wszystkie rozszerzenia, aby przetestować: przejdź do chrome://extensions/ i wyłącz każde z nich, następnie ponownie załaduj stronę. Jeśli błąd zniknie, włączaj rozszerzenia po jednym, aby znaleźć winowajcę.
Rozwiązanie 6: Zaktualizuj system operacyjny i przeglądarkę
Certyfikaty głównych CA są dystrybuowane poprzez aktualizacje systemu operacyjnego i przeglądarki. Jeśli Twój system operacyjny jest nieaktualny, Twój magazyn zaufania może nie zawierać nowszych głównych CA. Na przykład certyfikat ISRG Root X1 (używany przez Let's Encrypt) został dodany do starszych wersji Androida i Windows dopiero poprzez aktualizacje. Urządzenia z Androidem 7.0 lub starszym mogą w ogóle nie mieć tego certyfikatu głównego.
Chrome i Edge korzystają z magazynu zaufania systemu operacyjnego w Windows i macOS, podczas gdy Firefox ma własny. Utrzymywanie zarówno systemu operacyjnego, jak i przeglądarki w aktualności zapewnia posiadanie najnowszych zaufanych certyfikatów głównych.
Rozwiązanie 7: Wyłącz skanowanie SSL/HTTPS antywirusa
Oprogramowanie antywirusowe, takie jak Kaspersky, Avast, ESET i Bitdefender, często zawiera funkcję skanowania HTTPS lub przechwytywania SSL. Ta funkcja działa jako man-in-the-middle: odszyfrowuje Twój ruch HTTPS własnym certyfikatem, skanuje go i ponownie szyfruje. Jeśli certyfikat CA antywirusa nie jest zainstalowany w magazynie zaufania Twojej przeglądarki, każda strona HTTPS wyświetla ERR_CERT_AUTHORITY_INVALID.
Aby przetestować: tymczasowo wyłącz funkcję skanowania HTTPS w ustawieniach antywirusa (nie cały antywirus — tylko komponent skanowania SSL/web). Jeśli błąd zniknie, możesz albo utrzymać skanowanie wyłączone, albo ponownie zainstalować certyfikat główny antywirusa w przeglądarce.
Rozwiązanie 8: Wyczyść pamięć cache DNS
W rzadkich przypadkach przestarzała pamięć cache DNS może kierować Twoją przeglądarkę pod zły adres IP — taki, który serwuje inny (nieprawidłowy) certyfikat SSL. Wyczyszczenie DNS zapewnia, że Twoje urządzenie rozwiązuje domenę do prawidłowego serwera. Pełny poradnik znajdziesz w artykule jak wyczyścić pamięć cache DNS.
# Windows
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
# Linux
sudo systemd-resolve --flush-caches
# Wewnętrzna pamięć cache DNS Chrome
# Przejdź do: chrome://net-internals/#dns → "Clear host cache"Rozwiązanie 9: Wypróbuj inną sieć
Sieci firmowe, Wi-Fi szkolne i niektóre publiczne hotspoty używają przezroczystych proxy, które przechwytują połączenia HTTPS. Te proxy zastępują certyfikat SSL strony własnym, powodując ERR_CERT_AUTHORITY_INVALID. Przełączenie na dane mobilne lub inną sieć Wi-Fi potwierdza, czy sieć jest problemem.
Jeśli błąd pojawia się tylko w sieci w pracy lub szkole, skontaktuj się z administratorem sieci — może potrzebować zainstalowania certyfikatu głównego proxy na Twoim urządzeniu lub dodania domeny do listy wyjątków inspekcji SSL.
Rozwiązania dla właścicieli stron (strona serwera)
Jeśli odwiedzający zgłaszają ERR_CERT_AUTHORITY_INVALID na Twojej stronie, problem dotyczy konfiguracji Twojego certyfikatu SSL. Oto rozwiązania po stronie serwera, uporządkowane od najczęstszej do najrzadszej przyczyny.
Rozwiązanie 1: Zainstaluj certyfikat od zaufanego CA
Certyfikaty samopodpisane są przyczyną nr 1 ERR_CERT_AUTHORITY_INVALID dla właścicieli stron. Jeśli wygenerowałeś własny certyfikat za pomocą OpenSSL lub podobnego narzędzia, przeglądarki nigdy mu nie zaufają — wystawca (Ty) nie znajduje się w magazynie zaufania żadnej przeglądarki.
Rozwiązaniem jest zainstalowanie certyfikatu od publicznie zaufanego urzędu certyfikacji. Let's Encrypt zapewnia darmowe, automatyczne certyfikaty zaufane przez wszystkie główne przeglądarki. Dla stron komercyjnych płatne certyfikaty od DigiCert, Sectigo lub GlobalSign oferują rozszerzoną walidację (EV) i dłuższe okresy ważności.
# Zainstaluj certyfikat Let's Encrypt z Certbot (Nginx)
sudo certbot --nginx -d example.com -d www.example.com
# Zainstaluj certyfikat Let's Encrypt z Certbot (Apache)
sudo certbot --apache -d example.com -d www.example.com
# Sprawdź zainstalowany certyfikat
sudo certbot certificatesRozwiązanie 2: Zainstaluj kompletny łańcuch certyfikatów
Brakujący certyfikat pośredni jest drugą najczęstszą przyczyną po stronie serwera. Twój certyfikat SSL może być całkowicie ważny, ale jeśli serwer nie wysyła certyfikatu pośredniego CA razem z nim, przeglądarka nie może zweryfikować łańcucha zaufania i wyświetla ERR_CERT_AUTHORITY_INVALID.
Użyj SSL Checker DNS Robot, aby sprawdzić swój łańcuch certyfikatów. Zdrowy łańcuch pokazuje trzy certyfikaty: Główny CA > Pośredni CA > Twój certyfikat. Jeśli brakuje pośredniego, musisz skonfigurować serwer tak, aby wysyłał pełny łańcuch.
# Sprawdź łańcuch certyfikatów za pomocą OpenSSL
openssl s_client -connect example.com:443 -showcerts 2>/dev/null | grep -E 's:|i:'
# Oczekiwany wynik (3 certyfikaty w łańcuchu):
# s:CN = example.com (twój certyfikat)
# i:CN = R11 (pośredni - Let's Encrypt)
# s:CN = R11
# i:CN = ISRG Root X1 (główny CA)
# Nginx — skonfiguruj pełny łańcuch
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# Apache — skonfiguruj pełny łańcuch
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pemRozwiązanie 3: Odnów wygasły certyfikat
Wygasłe certyfikaty są natychmiast odrzucane przez wszystkie przeglądarki. Chrome w niektórych przypadkach pokazuje konkretnie ERR_CERT_AUTHORITY_INVALID (nie ERR_CERT_DATE_INVALID), gdy pośredni CA wygasłego certyfikatu również został zrotowany. Sprawdź datę wygaśnięcia certyfikatu za pomocą SSL Checker lub wiersza poleceń.
# Sprawdź datę wygaśnięcia certyfikatu
openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
# Wynik:
# notBefore=Jan 1 00:00:00 2026 GMT
# notAfter=Apr 1 00:00:00 2026 GMT
# Wymuś odnowienie z Certbot
sudo certbot renew --force-renewal
# Uruchom ponownie serwer WWW po odnowieniu
sudo systemctl reload nginx # Nginx
sudo systemctl reload apache2 # ApacheRozwiązanie 4: Upewnij się, że certyfikat pasuje do domeny
Certyfikat SSL jest wydawany dla konkretnych nazw domen wymienionych w polach Common Name (CN) i Subject Alternative Name (SAN). Jeśli Twoja strona jest dostępna przez www.example.com, ale certyfikat obejmuje tylko example.com, lub jeśli uzyskujesz dostęp do subdomeny nie zawartej w SAN, Chrome może wyświetlić ERR_CERT_AUTHORITY_INVALID.
Certyfikaty wildcard (*.example.com) obejmują wszystkie subdomeny, ale nie domenę główną, chyba że jest ona jawnie wymieniona jako SAN. Zawsze uwzględniaj zarówno example.com, jak i *.example.com przy generowaniu certyfikatu wildcard.
Rozwiązanie 5: Sprawdź konfigurację TLS serwera
Źle skonfigurowane ustawienia TLS mogą powodować problemy z zaufaniem certyfikatu nawet przy ważnym certyfikacie. Upewnij się, że Twój serwer obsługuje TLS 1.2 i TLS 1.3 — starsze protokoły, takie jak TLS 1.0 i 1.1, zostały wycofane przez wszystkie główne przeglądarki od 2020 roku. Sprawdź także, czy Twój serwer wysyła certyfikaty we właściwej kolejności (najpierw liściowy, potem pośrednie).
# Zalecana konfiguracja TLS dla Nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
# Przetestuj konfigurację TLS
openssl s_client -connect example.com:443 -tls1_2
openssl s_client -connect example.com:443 -tls1_3ERR_CERT_AUTHORITY_INVALID na localhost (programiści)
Programiści często napotykają ten błąd podczas uruchamiania lokalnych serwerów HTTPS do programowania. Ponieważ certyfikaty localhost są zawsze samopodpisane, Chrome domyślnie je blokuje. Istnieje kilka sposobów na obejście tego problemu.
mkcert — najłatwiejsze rozwiązanie. Zainstaluj
mkcert, uruchommkcert -install, aby dodać lokalne CA do magazynu zaufania, następnie wygeneruj certyfikaty:mkcert localhost 127.0.0.1 ::1. Automatycznie zaufane w Chrome, Firefox i EdgeObejście Chrome — wpisz
thisisunsafena stronie błędu (bez pola wejściowego — po prostu pisz na klawiaturze). To pomija ostrzeżenie tylko dla bieżącej sesjiFlaga Chrome — przejdź do
chrome://flags/#allow-insecure-localhosti włącz. To pomija błędy certyfikatów tylko dlalocalhostVite/Next.js/Webpack — większość serwerów deweloperskich obsługuje flagi
--https, które generują samopodpisane certyfikaty. Połącz z mkcert dla zaufanej lokalnej konfiguracji
# Zainstaluj mkcert (macOS)
brew install mkcert
mkcert -install
# Wygeneruj certyfikat localhost
mkcert localhost 127.0.0.1 ::1
# Tworzy: localhost+2.pem i localhost+2-key.pem
# Użyj z Node.js
const https = require('https');
const fs = require('fs');
https.createServer({
cert: fs.readFileSync('localhost+2.pem'),
key: fs.readFileSync('localhost+2-key.pem')
}, app).listen(3000);Powiązane błędy certyfikatów SSL
NET::ERR_CERT_AUTHORITY_INVALID to tylko jeden z kilku błędów certyfikatów SSL, na które możesz natrafić. Każdy błąd wskazuje na inny problem w procesie walidacji certyfikatu.
| Kod błędu | Co oznacza | Poradnik DNS Robot |
|---|---|---|
| ERR_CERT_AUTHORITY_INVALID | Certyfikat nie podpisany przez zaufane CA | Ten artykuł |
| ERR_SSL_PROTOCOL_ERROR | Handshake TLS nie powiódł się przed sprawdzeniem certyfikatu | [Poradnik naprawy](/blog/err-ssl-protocol-error-fix) |
| ERR_SSL_VERSION_OR_CIPHER_MISMATCH | Brak wspólnej wersji TLS lub zestawu szyfrów | [Poradnik naprawy](/blog/err-ssl-version-or-cipher-mismatch) |
| ERR_CERT_DATE_INVALID | Certyfikat wygasł lub jeszcze nie jest ważny | Sprawdź daty certyfikatu |
| ERR_CERT_COMMON_NAME_INVALID | Domena certyfikatu nie pasuje do URL | Sprawdź pola SAN/CN |
| NET::ERR_CERT_REVOKED | Certyfikat został unieważniony przez wystawiające CA | Ponownie wystaw certyfikat |
Sprawdź swój łańcuch certyfikatów SSL teraz
Użyj darmowego SSL Checker DNS Robot, aby zweryfikować łańcuch certyfikatów, daty wygaśnięcia i konfigurację TLS. Natychmiast wykryj brakujące certyfikaty pośrednie, wygasłe certyfikaty i niezgodności domen.
Try SSL CheckerFrequently Asked Questions
Oznacza to, że Twoja przeglądarka nie ufa urzędowi certyfikacji, który podpisał certyfikat SSL strony. Certyfikat może być samopodpisany, wydany przez nieznane CA lub mieć brakujący łańcuch certyfikatów pośrednich.