Błąd internetu

Błąd ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN – przyczyny i naprawa

Mateusz Sobociński
Autor: Mateusz Sobociński - CEO & Red. Nacz. @ asMAX
8 min. czytania

Błąd NET::ERRSSLPINNEDKEYNOTINCERT_CHAIN to jeden z bardziej skomplikowanych problemów związanych z certyfikatami SSL/TLS, który może całkowicie zablokować dostęp do witryny. Ten błąd pojawia się głównie w przeglądarce Google Chrome i jest bezpośrednio związany z mechanizmem przypinania kluczy publicznych (HTTP Public Key Pinning – HPKP).

Głównym powodem wystąpienia tego błędu jest niezgodność między kluczami publicznymi przypietymi do domeny a kluczami znajdującymi się w rzeczywistym łańcuchu certyfikatów serwera. Gdy przeglądarka próbuje nawiązać połączenie z witryną, weryfikuje czy klucze publiczne w certyfikacie odpowiadają tym, które zostały wcześniej przypięte. Jeśli nie znajduje dopasowania, natychmiast przerywa połączenie i wyświetla ten komunikat błędu.

Czym jest przypinanie kluczy i dlaczego powoduje problemy

Przypinanie kluczy publicznych (Key Pinning) to mechanizm bezpieczeństwa, który pozwala właścicielom witryn określić konkretne klucze publiczne, które powinny być używane w połączeniach z ich serwerem. Teoretycznie miało to chronić przed atakami typu man-in-the-middle z użyciem fałszywych certyfikatów.

Jednak w praktyce HPKP okazało się zbyt skomplikowane nawet dla najbardziej zaawansowanych technicznie organizacji. Niewłaściwa konfiguracja może prowadzić do całkowitego zablokowania dostępu do witryny, dlatego wiele nowoczesnych przeglądarek, w tym Google Chrome, zrezygnowało z obsługi tej funkcji lub planuje jej usunięcie.

Główne przyczyny występowania błędu

Nieprawidłowa konfiguracja przypinania kluczy stanowi najczęstszą przyczynę problemu. Może to obejmować przypięcie niewłaściwego klucza, zmianę łańcucha certyfikatów bez aktualizacji przypietych kluczy, lub otrzymanie nowego certyfikatu, którego klucz publiczny nie został uwzględniony w zestawie przypiętych kluczy.

Problemy z łańcuchem certyfikatów również często wywołują ten błąd. Łańcuch zaufania zawiera kilka certyfikatów, od certyfikatu końcowego witryny do zaufanego głównego certyfikatu CA (Certificate Authority). Brakujące lub nieprawidłowo zainstalowane certyfikaty pośrednie uniemożliwiają przeglądarce zbudowanie ścieżki zaufania do głównego CA. Przeglądarki muszą być w stanie zweryfikować podpisy na certyfikatach przy użyciu ich kluczy publicznych, a każde przerwanie w tym łańcuchu powoduje błąd.

Rozwiązania dla webmasterów i deweloperów

Rozwiązanie 1 – Identyfikacja i naprawa problematycznego certyfikatu

Najprawdopodobniej napotkałeś błąd ERRSSLPINNEDKEYNOTINCERT_CHAIN, ponieważ nie przypiąłeś klucza gdzieś w łańcuchu certyfikatów lub przypiąłeś niewłaściwy klucz do jednego z certyfikatów pośrednich.

Kroki do wykonania –

  1. Zidentyfikuj problematyczny certyfikat w łańcuchu certyfikatów
  2. Sprawdź, które klucze publiczne zostały przypięte do Twojej domeny
  3. Odwiedź stronę internetową pośredniego CA (Certificate Authority) i znajdź kopię właściwego klucza publicznego
  4. Upewnij się, że wszystkie certyfikaty pośrednie są poprawnie zainstalowane i połączone we właściwej kolejności
  5. Zaktualizuj przypięte klucze, aby odpowiadały aktualnie używanym w łańcuchu certyfikatów

Rozwiązanie 2 – Całkowite usunięcie przypinania kluczy (ZALECANE)

To rozwiązanie jest zdecydowanie rekomendowane przez ekspertów. Nawet najbardziej doświadczeni specjaliści przyznają, że kłopoty związane z przypinaniem kluczy nie są warte uzyskanego poziomu bezpieczeństwa, z wyjątkiem najbardziej zaawansowanych technicznie organizacji.

Dlaczego warto zrezygnować z przypinania kluczy –

  • Główne przeglądarki, w tym Google Chrome, albo już nie obsługują tej funkcji, albo planują jej usunięcie
  • Ryzyko całkowitego zablokowania witryny przy błędnej konfiguracji jest zbyt wysokie
  • Regularna rotacja certyfikatów i kluczy (co 3-6 miesięcy) zapewnia podobny poziom bezpieczeństwa bez ryzyka związanego z przypinaniem
  • Złożoność zarządzania przypietymi kluczami przekracza możliwości większości organizacji

Kroki dezaktywacji

  1. Usuń nagłówki HPKP z konfiguracji serwera
  2. Usuń wszystkie wpisy związane z przypinaniem kluczy z kodu aplikacji
  3. Poczekaj na wygaśnięcie okresu przypinania określonego w pierwotnej konfiguracji
  4. Wdróż regularne procedury wymiany certyfikatów jako alternatywę bezpieczeństwa

Ważne ostrzeżenie dla webmasterów

Próbuj przypinać klucze tylko wtedy, gdy jesteś ekspertem i masz pełną pewność co do swoich umiejętności w tym zakresie. Jeśli potrafisz to zrobić samodzielnie, będziesz w stanie lepiej kontrolować wykorzystywane klucze publiczne i zmniejszysz konsekwencje ewentualnego złamania powiązanych kluczy prywatnych przez hakerów. Jednak wadą jest możliwość całkowitego zawieszenia witryny w przypadku poważnego błędu w konfiguracji.

Rozwiązania dla użytkowników końcowych

Niestety, jako zwykły użytkownik internetu nie możesz praktycznie nic zrobić w przypadku napotkania błędu ERRSSLPINNEDKEYNOTINCERT_CHAIN, ponieważ jest to błąd po stronie serwera. W przeciwieństwie do innych błędów certyfikatów, tutaj nie ma skutecznych obejść, takich jak zmiana czasu systemowego czy kliknięcie przez ostrzeżenie.

Metoda 1 – Usunięcie domeny z bazy danych HSTS przeglądarki

To rozwiązanie działa tylko wtedy, gdy niedawno odnowiono certyfikat SSL na stronie docelowej, a administrator wybrał czas przekraczający datę wygaśnięcia certyfikatu.

Instrukcja krok po kroku dla Chrome

  1. Otwórz przeglądarkę Google Chrome
  2. Wpisz w pasku adresu: chrome://net-internals/#hsts
  3. Przewiń w dół do sekcji „Delete domain security policies”
  4. Wpisz nazwę domeny, która powoduje błąd
  5. Kliknij przycisk „Delete”
  6. Spróbuj ponownie odwiedzić witrynę

Metoda 2 – Próba dostępu przez protokół HTTP (NIEZALECANE)

Możesz spróbować przejść do witryny używając protokołu HTTP zamiast HTTPS. Jeśli strona nie wymusza HTTPS za pomocą nagłówka HSTS, będziesz mógł się do niej dostać, jednak bez jakiegokolwiek zabezpieczenia. To bardzo zły pomysł, ponieważ wszystko, co robisz na tej stronie – każde hasło, które wprowadzasz, to co przeglądasz – jest widoczne dla osób trzecich.

Najlepsze rozwiązanie dla użytkowników

Twoją najlepszą opcją jest skontaktowanie się z właścicielem witryny i poinformowanie go o problemie z jednym z przypiętych kluczy. Administrator musi rozwiązać ten problem po stronie serwera, aby strona była ponownie dostępna dla wszystkich użytkowników.

Techniczna strona problemu

Przeglądarki internetowe muszą skutecznie ukończyć łańcuch certyfikatów, w przeciwnym razie nie mogą rozszerzyć zaufania na certyfikat użytkownika końcowego. W tym procesie podpisy na certyfikatach muszą być weryfikowane przy użyciu ich kluczy publicznych. Gdy klucz przypięty nie pasuje do żadnego z kluczy w łańcuchu certyfikatów, przeglądarka natychmiast przerywa połączenie.

Łańcuch certyfikatów składa się z następujących elementów:

Certyfikat końcowy (end-entity certificate) – certyfikat witryny internetowej, który identyfikuje konkretną domenę

Certyfikaty pośrednie (intermediate certificates) – łączą certyfikat końcowy z zaufanym głównym CA

Główny certyfikat CA (root CA certificate) – certyfikat zaufanego urzędu certyfikacji, który jest już obecny w przeglądarce

Zapobieganie problemom w przyszłości

Aby uniknąć problemów związanych z przypinaniem kluczy:

Regularna rotacja certyfikatów – wymieniaj certyfikaty i klucze co 3-6 miesięcy, co zapewnia bezpieczeństwo bez ryzyka związanego z przypinaniem

Właściwa instalacja łańcucha certyfikatów – upewnij się, że wszystkie certyfikaty pośrednie są poprawnie zainstalowane i połączone we właściwej kolejności

Monitorowanie wygasania certyfikatów – ustaw przypomnienia o zbliżającym się terminie wygaśnięcia certyfikatów

Testowanie przed wdrożeniem – zawsze testuj zmiany w certyfikatach na środowisku testowym przed wdrożeniem na produkcję

Rezygnacja z HPKP – w większości przypadków mechanizm przypinania kluczy nie jest już zalecany i należy go unikać

Błąd ERRSSLPINNEDKEYNOTINCERT_CHAIN jest poważnym problemem, który wymaga interwencji administratora witryny. Dla właścicieli stron najlepszym rozwiązaniem jest całkowita rezygnacja z przypinania kluczy i wdrożenie regularnych procedur wymiany certyfikatów jako bardziej niezawodnej alternatywy bezpieczeństwa.

Podziel się artykułem
CEO & Red. Nacz. @ asMAX
Obserwuj:
Ex-redaktor w GW (Technologie) i ex-PR w koreańskim start-upie technologicznym. Absolwent Imperial College Business School (MBA) i Politechniki Warszawskiej. Od 2025 CEO i redaktor naczelny w asMAX.
Brak komentarzy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *