Błąd ERRSELFSIGNEDCERTGENERATION_FAILED oznacza, że przeglądarka lub serwer nie był w stanie wygenerować samopodpisanego certyfikatu SSL albo go odrzucił. Najczęściej pojawia się on podczas pracy z środowiskami deweloperskimi, testowymi oraz przy błędnej konfiguracji HTTPS. Poniżej znajduje się szczegółowy poradnik dla webmasterów, web deweloperów oraz użytkowników końcowych.
Co oznacza błąd ERRSELFSIGNEDCERTGENERATION_FAILED?
Ten błąd sygnalizuje problem z wygenerowaniem lub akceptacją samopodpisanego certyfikatu SSL w środowisku serwera lub podczas próby uruchomienia środowiska deweloperskiego. Może dotyczyć zarówno pracy lokalnej (np. projekty na Node.js, React, Angular, Laravel itp.), jak i pracy na serwerze testowym w sieci.
Najczęstsze przyczyny błędu to:
- Konflikt przy generowaniu certyfikatu (już istnieje lub plik jest zablokowany).
- Niedostateczne uprawnienia systemowe do generowania/instalowania certyfikatu.
- Nieaktualna lub niepoprawna wersja narzędzi do generowania certyfikatów.
- Blokada certyfikatów przez oprogramowanie antywirusowe lub zabezpieczenia systemowe.
- Nieprawidłowa konfiguracja plików konfiguracyjnych serwera (np. nginx, Apache) lub środowisk deweloperskich.
Rozwiązanie dla webmastera/web dewelopera
1. Sprawdź istniejące certyfikaty
- Upewnij się, że nie masz już wygenerowanego certyfikatu w katalogu projektu (np.
localhost.crt,localhost.key). - Jeśli są, spróbuj je usunąć i ponowić proces generowania.
2. Uruchom środowisko/konsolę jako administrator
- Często system odrzuca generację certyfikatu ze względu na brak uprawnień.
- Na Windows: uruchom wiersz polecenia lub PowerShell jako administrator.
- Na Mac/Linux: użyj
sudoprzed poleceniami wymagającymi uprawnień.
3. Napraw/odnów narzędzia do generacji certyfikatów
- Sprawdź, czy korzystasz z najnowszej wersji narzędzia (
mkcert,openssl,devcert, narzędzia środowisk Node.js, np.react-scripts). - Odinstaluj i zainstaluj ponownie narzędzie, jeśli występują konflikty.
Przykład generowania na Node.js (mkcert)
mkcert -install mkcert localhost
4. Zweryfikuj konfigurację serwera
- Sprawdź, czy w plikach konfiguracyjnych ścieżka do certyfikatu jest poprawna i nie wskazuje na nieistniejący plik.
- Upewnij się, że serwer ma uprawnienia do odczytu plików certyfikatu.
Przykład konfiguracji w nginx:
server { listen 443 ssl; ssl_certificate /etc/ssl/certs/localhost.crt; ssl_certificate_key /etc/ssl/private/localhost.key; ... }
Rozwiązanie dla użytkownika końcowego
- Jeśli korzystasz z serwisu i widzisz ten komunikat, oznacza to problem po stronie serwera lub aplikacji ― zgłoś to administratorowi.
- Jeżeli korzystasz z oprogramowania lokalnie (np. lokalna aplikacja desktopowa komunikująca się po HTTPS), spróbuj uruchomić ją jako administrator.
- Czasem przeglądarki blokują certyfikaty samopodpisane: przejdź do „zaawansowane” i spróbuj zaakceptować ryzyko (tylko w środowisku testowym! Nie zalecane na produkcji).
Typowe pytania i wyjaśnienia techniczne
-
Czym jest certyfikat samopodpisany?
To certyfikat SSL, który nie został wystawiony przez zaufane CA (Certificate Authority), a przez samego użytkownika lub serwer. Przeznaczone do zastosowań testowych i lokalnych. -
Co zrobić, jeśli błąd pojawia się nagle na istniejącym środowisku?
Sprawdź czy certyfikat nie wygasł, czy uprawnienia plików nie uległy zmianie, czy nie została zmieniona konfiguracja serwera lub aktualizacja systemowa/antywirusowa nie blokuje certyfikatów. -
Czy błąd oznacza atak lub ryzyko dla bezpieczeństwa?
Zazwyczaj nie. To problem konfiguracyjny lub uprawnień, jednak na produkcji należy korzystać wyłącznie z certyfikatów od zaufanych dostawców.
Krok po kroku – przykładowa naprawa dla projektu React (Node.js)
- Usuń pliki
localhost.key,localhost.crtz katalogu głównego. - Zainstaluj narzędzie
mkcert:
npm install -g mkcert
- Zainstaluj lokalny zaufany CA:
mkcert -install
- Wygeneruj nowe certyfikaty:
mkcert localhost
- Podaj ścieżkę do certyfikatów w pliku
.envlub konfiguracji serwera. - Uruchom ponownie serwer/deweloperski serwer frontendu.
Sytuacje szczególne
- Jeśli używasz Docker — zadbaj o odpowiedni montaż/udostępnianie certyfikatów do kontenerów.
- Jeśli problem dotyczy firewalla/antywirusa — wprowadź wyjątek dla używanego portu lub aplikacji.
- Dla środowiska Windows po aktualizacjach lub zmianach polityk bezpieczeństwa – sprawdź, czy nie zostały zablokowane operacje kryptograficzne przez polityki lokalne.
Materiały dodatkowe
- Dokumentacja narzędzia do generowania certyfikatów (
mkcert,openssl). - Dokumentacja Twojego frameworka lub narzędzia programistycznego.
- Sprawdzenie ograniczeń systemowych, aktualizacji polityk bezpieczeństwa.
Jeśli powyższe rozwiązania nie działają, dokładnie sprawdź komunikaty błędu w konsoli, logi serwera oraz ustawienia środowiska (czasami problem tkwi w konflikcie portu, zduplikowanych plikach lub restrykcjach systemowych). Jeśli błąd pojawia się podczas uwierzytelniania na korporacyjnych usługach Microsoft, sprawdź czy lista odwołania certyfikatów CRL jest dostępna i aktualna.

