Sprawdzanie ważności certyfikatu SSL domeny

Wpisz adres strony, a zobaczysz, ile dni zostało do wygaśnięcia certyfikatu i kto go wystawił.

Sprawdzenie cudzej domeny wymaga zapytania z naszego serwera - inaczej się nie da. Nie prowadzimy dziennika sprawdzanych adresów.

Sprawdź certyfikat SSL

Wystarczy sama nazwa - protokół i ścieżkę obetniemy. Sprawdzamy porty 443, 8443, 993, 995 i 465; inne odrzucamy, żeby narzędzie nie służyło do skanowania cudzych serwerów.

Port

Zakres wyniku

Tryb skrócony pobiera samą datę i liczbę dni - nadaje się do szybkiego sprawdzenia przed odnowieniem.

-

Wpisz domenę i kliknij „Sprawdź certyfikat”. Liczba dni do wygaśnięcia pojawi się tutaj: zielona powyżej 30 dni, pomarańczowa od 7 do 30, czerwona poniżej 7 dni albo po terminie.

Domena w certyfikacie-
Zgodność nazwy-
Wystawca-
Ważny od-
Ważny do-
Zaufanie przeglądarki-
Wersja protokołu-
Zestaw szyfrów-
Algorytm podpisu-
Numer seryjny-
Odcisk SHA-256-
Adres serwera-
Czas nawiązania połączenia-
Progi ostrzegania
Powyżej 30 dnispokojnie
Od 7 do 30 dnisprawdź odnawianie
Poniżej 7 dnidziałaj teraz
Po terminiestrona jest zablokowana

Próg 30 dni nie jest przypadkowy: automatyczne odnawianie w najpopularniejszych rozwiązaniach rusza właśnie na trzydzieści dni przed końcem ważności. Certyfikat, któremu zostało mniej, oznacza, że automat już próbował i mu się nie udało.

Co sprawdzamy
Data wygaśnięciatak
Zgodność nazwytak
Kompletność łańcuchatak
Algorytm podpisutak
Wersja protokołutak
Unieważnienie (CRL/OCSP)nie

Sprawdzenia unieważnienia nie robimy: wymagałoby odpytania serwera wystawcy przy każdym sprawdzeniu, a same przeglądarki w większości już z niego zrezygnowały na rzecz własnych list.

Jak używać

  1. Wpisz adres strony bez protokołu i bez ścieżki, choć pełny adres URL też zadziała, bo wszystko poza samą nazwą obetniemy. Port zostaw na 443, chyba że sprawdzasz certyfikat serwera poczty.
  2. Kliknij „Sprawdź certyfikat”, a największa liczba na stronie pokaże dni pozostałe do końca ważności certyfikatu. Kolor jest zielony powyżej 30 dni, pomarańczowy od 7 do 30, czerwony poniżej 7 dni albo po terminie.
  3. Pod liczbą znajdziesz wystawcę, obie daty ważności, wersję protokołu, zestaw szyfrów, algorytm podpisu i odcisk certyfikatu.
  4. Sekcja „Wykryte problemy” pojawia się tylko wtedy, gdy jest co zgłosić, czyli przy wygaśnięciu, niezgodności nazwy, niekompletnym łańcuchu, podpisie własnym albo przestarzałym algorytmie.
  5. Lista „Nazwy objęte certyfikatem” pokazuje wszystkie nazwy, dla których certyfikat obowiązuje, więc zweryfikuj, czy jest wśród nich adres, którego faktycznie używasz.
  6. Przełącznik „Tylko data wygaśnięcia” skraca sprawdzenie do samej daty i liczby dni.
  7. Zakładka „Lista domen” sprawdza do dziesięciu witryn naraz i układa daty ważności obok siebie, więc jednym kliknięciem obejrzysz stan wszystkich stron, którymi się opiekujesz.

Wskazówki

  • Wynik pokazuje stan z tej chwili, bo połączenie nawiązujemy na żywo i niczego nie zapamiętujemy. Po odnowieniu certyfikatu kliknij „Sprawdź ponownie”, a nowa data ważności pojawi się natychmiast.
  • Ostrzeżenie o niekompletnym łańcuchu bywa mylące, bo przeglądarki na komputerach potrafią same dobrać brakujący certyfikat pośredni z pamięci. Aplikacje mobilne, biblioteki programistyczne i starsze urządzenia tego nie zrobią, więc to one pierwsze zgłoszą błąd.
  • Certyfikaty od najpopularniejszych darmowych wystawców ważne są 90 dni i odnawiają się automatycznie na 30 dni przed końcem. Jeśli widzisz mniej niż 30 dni, automat już zawiódł, więc sprawdź dlaczego, zanim zostanie kilka godzin.
  • Sprawdzamy certyfikat serwera, do którego prowadzi pierwszy adres z rekordów A lub AAAA. Przy kilku serwerach za jedną nazwą pozostałe mogą mieć inny certyfikat, dlatego sprawdź wtedy każdy adres osobno.
  • Niezgodność nazwy to najczęściej wejście na adres bez „www” tam, gdzie certyfikat wystawiono tylko dla wersji z „www” (albo odwrotnie). Lista nazw objętych certyfikatem rozstrzyga to w sekundę.

Strona nie działa mimo ważnego certyfikatu? Sprawdź ją w narzędziu czy strona działa. Certyfikat wystawiono dla innej domeny? Zajrzyj do rekordów DNS, żeby zobaczyć, gdzie faktycznie prowadzi nazwa.

Co dokładnie sprawdza to narzędzie

Nasz serwer nawiązuje z podanym adresem połączenie szyfrowane, dokładnie tak jak zrobiłaby to przeglądarka, i odczytuje certyfikat, który serwer przedstawia w trakcie uzgadniania. Wszystkie dane pochodzą z tego jednego połączenia. Nie ma tu żadnej bazy ani zewnętrznego rejestru, więc wynik nie może być nieaktualny. Sam certyfikat wiąże nazwę domeny z kluczem publicznym serwera i to ten związek weryfikuje przeglądarka, zanim pokaże stronę.

Połączenie nawiązujemy dwa razy, za pierwszym razem bez weryfikacji, żeby pokazać nawet certyfikat wadliwy, bo inaczej przy wygasłym certyfikacie nie dowiedziałbyś się nawet, kiedy stracił ważność. Drugi raz łączymy się z pełną weryfikacją, dokładnie taką, jaką stosuje przeglądarka. Różnica między tymi dwoma próbami odpowiada na pytanie, czy odwiedzający zobaczy ostrzeżenie.

Dni do wygaśnięcia i skąd wzięły się progi

Próg trzydziestu dni ma źródło w harmonogramie automatów. Najpopularniejsze programy do automatycznego odnawiania certyfikatów zaczynają próby właśnie trzydzieści dni przed końcem ważności, przy typowym okresie ważności wynoszącym 90 dni. Certyfikat z mniejszym zapasem sygnalizuje więc, że automat już próbował i mu się nie udało, najczęściej z powodu zmienionej konfiguracji serwera, przeniesienia witryny, zablokowanego portu 80 albo wygaśnięcia uprawnień do zapisu w katalogu weryfikacyjnym.

Siedem dni to granica, po której przestaje wystarczać reakcja „przy najbliższej okazji”. Odnowienie wymaga zwykle dostępu do serwera i przeładowania usługi, a przy zepsutym automacie dochodzi jeszcze szukanie przyczyny. Po przekroczeniu daty ważności przeglądarki pokazują pełnoekranowe ostrzeżenie, którego nie da się pominąć jednym kliknięciem, a część aplikacji mobilnych i integracji po prostu przestaje działać bez żadnego komunikatu.

Sprawdzanie certyfikatów SSL raz na miesiąc wystarcza przy działającym automacie, a przy ręcznym odnawianiu ustaw przypomnienie w kalendarzu na trzydzieści dni przed datą z wiersza „Ważny do”.

Łańcuch certyfikatów i najczęstszy błąd konfiguracji

Przeglądarka ufa certyfikatowi Twojego serwera nie dlatego, że go zna, tylko dlatego, że potrafi zbudować ścieżkę od niego do jednego z certyfikatów głównych, które ma wbudowane. Ta ścieżka, nazywana ścieżką certyfikacji, prowadzi przez certyfikaty pośrednie i serwer musi wysłać je razem ze swoim. Certyfikatu głównego wysyłać nie ma po co, bo klient i tak ma go u siebie.

Najczęstszy błąd instalacji to wgranie samego certyfikatu serwera, bez pośrednich. Na komputerze zwykle nic się nie stanie, bo przeglądarki potrafią dobrać brakujący element z własnej pamięci albo pobrać go z adresu podanego w certyfikacie. Problem wychodzi gdzie indziej, w aplikacji mobilnej albo w bibliotece do wysyłania żądań. Objaw jest wtedy mylący: „u mnie działa, a integracja zgłasza błąd certyfikatu”. Dlatego pokazujemy pełny łańcuch i ostrzegamy, gdy ma tylko jeden element.

Zgodność nazwy strony internetowej i certyfikaty wildcard

Certyfikat obowiązuje dla konkretnych nazw wypisanych w rozszerzeniu nazw alternatywnych, w skrócie SAN. Pole „nazwa pospolita” (CN) ma dziś znaczenie wyłącznie historyczne, a rozstrzyga lista. Jeśli wpisanej nazwy na niej nie ma, przeglądarka odmówi, choćby certyfikat był świeży i wystawiony przez zaufane centrum.

Gwiazdka obejmuje dokładnie jeden poziom. Zapis *.example.com pasuje do sklep.example.com, ale już nie do a.b.example.com ani do samego example.com. Dlatego certyfikaty SSL typu wildcard wystawia się zwykle razem z osobnym wpisem dla domeny głównej. Brak tego wpisu to druga najczęstsza przyczyna błędu nazwy. Pierwszą jest zwykłe pominięcie wersji z „www” albo bez niego.

Wersja protokołu i szyfry, którymi serwer szyfruje ruch

Sama nazwa SSL, czyli Secure Sockets Layer, pochodzi od protokołu zastąpionego przez TLS już w 1999 roku i formalnie wycofanego w 2015. Ruch szyfruje dziś Transport Layer Security, a określenie „certyfikat SSL” zostało w powszechnym użyciu jako nazwa zwyczajowa i tak też podpisujemy wynik. Wersja protokołu w raporcie mówi, jak stary jest sposób szyfrowania połączenia. Standardem jest TLS 1.3, w pełni akceptowalny pozostaje TLS 1.2. Wersje 1.0 i 1.1 zostały wycofane w 2020 roku i przeglądarki odmawiają ich użycia, więc serwer, który nie potrafi nic nowszego, jest praktycznie nieosiągalny.

Algorytm podpisu certyfikatu to osobna sprawa. Podpisy oparte na SHA-1 i MD5 są uznane za złamane i odrzucane od lat. Jeśli jeszcze gdzieś się pojawiają, to na urządzeniach z własnym, nieodnawianym certyfikatem. Dzisiejszy standard to SHA-256, coraz częściej z kluczem na krzywych eliptycznych, który przy tym samym poziomie bezpieczeństwa jest zauważalnie szybszy od klasycznego RSA.

Poziomy weryfikacji, czyli co wystawca sprawdził przed wydaniem certyfikatu

Wystawca widoczny w raporcie mówi, kto poręczył za certyfikat, ale nie mówi, jak dokładnie sprawdzał wnioskodawcę. Poziom najniższy i najczęstszy to DV, od Domain Validation. Wystawca potwierdza wtedy wyłącznie kontrolę nad domeną, zwykle przez plik umieszczony na serwerze albo wpis w DNS, i cała procedura trwa kilka minut. Wyżej stoją OV, czyli Organization Validation, i EV, czyli Extended Validation. Tam dochodzi weryfikacja podmiotu w rejestrach, a dane firmy trafiają do pola podmiotu w certyfikacie.

Praktyczna różnica jest jednak mniejsza, niż sugerują opisy, bo wszystkie trzy poziomy szyfrują połączenie identycznie, tym samym protokołem i tym samym zestawem szyfrów, a zielony pasek z nazwą firmy, który kiedyś wyróżniał EV w pasku adresu, zniknął z przeglądarek około 2019 roku. W naszym raporcie poziom weryfikacji rozpoznasz po tabeli łańcucha. Jeśli w wierszu podmiotu widnieje tylko nazwa domeny, masz do czynienia z DV. Nazwa firmy razem z krajem oznacza OV albo EV. Certyfikat odpowiada zresztą za jeden element bezpieczeństwa strony internetowej, za szyfrowanie transportu i potwierdzenie tożsamości serwera. O jakości samej aplikacji nie mówi nic.

Najczęstsze pytania

Dlaczego nie oferujecie przypomnienia e-mailem o wygasającym certyfikacie?

Bo to znacznie większe rozszerzenie zakresu, niż wygląda, i w dodatku zamieniłoby narzędzie bezstanowe w usługę przechowującą dane osobowe. Musielibyśmy prowadzić bazę par „domena i adres e-mail”, potwierdzać ten adres, obsłużyć zgodę na przetwarzanie i wypisanie się, uruchomić zadanie cykliczne sprawdzające wszystkie zapisane domeny, zapewnić wysyłkę poczty, która nie trafia do spamu, i pilnować, żeby usterka po naszej stronie nie skończyła się brakiem powiadomienia w dniu, w którym było najbardziej potrzebne. Cały ten serwis jest z założenia bezstanowy, bez kont, bez bazy i bez zbierania adresów e-mail. Zamiast tego polecamy dwie rzeczy, które działają lepiej. Włącz automatyczne odnawianie certyfikatu na serwerze i dodaj sprawdzenie daty ważności do własnego systemu monitorowania, jeśli taki prowadzisz.

Certyfikat jest ważny, a przeglądarka i tak pokazuje ostrzeżenie. Dlaczego?

Najczęściej odpowiada za to niezgodność nazwy, czyli wejście na adres, którego nie ma na liście nazw objętych certyfikatem, zwykle w wersji z „www” albo bez niego. Druga przyczyna to niekompletny łańcuch, choć ta objawia się częściej poza przeglądarką. Trzecia to certyfikat podpisany samodzielnie, którego nie wystawiło żadne zaufane centrum. Wszystkie trzy przypadki wypisujemy w sekcji „Wykryte problemy”, więc wystarczy sprawdzić, który wystąpił.

Sprawdzacie certyfikat, ale strona i tak nie działa. Gdzie szukać przyczyny?

Certyfikat to tylko jedna z warstw. Serwer może odpowiadać błędem aplikacji, mieć zapętlone przekierowania albo w ogóle nie odpowiadać mimo poprawnego uzgadniania szyfrowania. Do rozróżnienia tych przypadków służy narzędzie czy strona działa, które pokazuje kod odpowiedzi, łańcuch przekierowań i osobno oznacza problem z certyfikatem.

Jak sprawdzić certyfikat SSL w przeglądarce, bez tego narzędzia?

W każdej przeglądarce zbudowanej na Chromium, czyli w Chrome, Edge, Operze albo Brave, kliknij ikonę po lewej stronie adresu, wybierz informacje o zabezpieczeniach połączenia, a potem podgląd informacji o certyfikacie. Firefox pokazuje to samo po kliknięciu kłódki w pasku adresu i wybraniu połączenia bezpiecznego, Safari po kliknięciu kłódki obok adresu. Zobaczysz tam wystawcę, obie daty ważności, nazwy alternatywne i pełną ścieżkę certyfikacji. Narzędzia typu SSL checker, nasze też, pokazują to samo z zewnątrz, z jedną różnicą. Przeglądarka opisuje certyfikat serwera, z którym akurat sama się połączyła, i zwykle milczy o problemach, które potrafi obejść, jak brakujący certyfikat pośredni.

Jak zweryfikować, czy certyfikat SSL jest poprawnie zainstalowany?

Po instalacji certyfikatu sprawdź witrynę pod obiema nazwami, z „www” i bez, bo błąd instalacji najczęściej dotyczy tylko jednej z nich. Zwróć uwagę na trzy pozycje w raporcie. Wiersz „Zgodność nazwy” musi potwierdzać wpisany adres, wiersz „Zaufanie przeglądarki” nie może zgłaszać zastrzeżeń, a tabela łańcucha ma pokazać więcej niż jedną pozycję, bo pojedynczy wpis zwykle oznacza brak certyfikatów pośrednich. Po poprawieniu konfiguracji przeładuj usługę na serwerze i sprawdź ponownie, bo serwer trzyma stary certyfikat w pamięci aż do restartu. U większości hostingów odnowienie i podmianę certyfikatu włącza się w panelu klienta i wtedy krok z przeładowaniem robi za Ciebie dostawca.

Co się stanie, gdy zapomnę przedłużyć certyfikat i utraci on ważność?

Strona przestaje być dostępna w praktyce, choć serwer nadal działa. Przeglądarki pokazują pełnoekranowe ostrzeżenie z kodem NET::ERR_CERT_DATE_INVALID w Chrome albo SEC_ERROR_EXPIRED_CERTIFICATE w Firefoksie, a przejście dalej wymaga świadomego klikania przez ekran ostrzeżenia. Gorzej znoszą to aplikacje mobilne i integracje, które zwykle zrywają połączenie bez komunikatu, więc płatności i webhooki przestają działać po cichu. Wygaśnięcie nie kasuje niczego na serwerze, a po wystawieniu i wgraniu nowego certyfikatu wszystko wraca do normy w ciągu minut.

Czy sprawdzicie certyfikat na innym porcie niż 443?

Tak, ale tylko na kilku typowych: 8443 (alternatywny HTTPS), 993 (IMAP), 995 (POP3) i 465 (SMTP). Pozostałe porty odrzucamy świadomie. Narzędzie łączące się z dowolnym portem dowolnego serwera jest w praktyce skanerem cudzej infrastruktury, a tego robić nie chcemy. Do sprawdzenia nietypowego portu nadaje się polecenie openssl s_client uruchomione z własnego komputera.

Co trafia na Wasz serwer, gdy sprawdzam certyfikat?

Nazwa domeny i numer portu. Nasz serwer nawiązuje z tym adresem połączenie szyfrowane i odczytuje certyfikat, a wynik odsyła do Twojej przeglądarki. W przeciwieństwie do zapytań DNS wyniku sprawdzenia certyfikatu w ogóle nie zapamiętujemy, bo odpowiedź ma mówić o stanie z tej chwili, a nie sprzed godziny. Nie prowadzimy dziennika sprawdzanych domen. To jedyna kategoria narzędzi w serwisie, która w ogóle korzysta z serwera.

Dlaczego liczba dni różni się o jeden od tej, którą pokazuje przeglądarka?

Bo liczymy pełne doby pozostałe do godziny wygaśnięcia podanej w certyfikacie, według czasu naszego serwera. Certyfikaty wygasają o konkretnej godzinie, nie o północy, a przeglądarki i inne narzędzia zaokrąglają to różnie. Przy planowaniu odnowienia traktuj tę liczbę jako wartość orientacyjną i patrz na dokładną datę w wierszu „Ważny do”.