Baza wiedzy

Jak sprawdzić datę ważności certyfikatu SSL, krok po kroku

13 września 2026 · 7 min czytania

Certyfikat wygasa w znanej z góry sekundzie, a i tak najczęściej dowiadujemy się o tym od klienta, który zobaczył pełnoekranowe ostrzeżenie. Poniżej: jak sprawdzić termin ważności w przeglądarce, jak zrobić to jednym poleceniem dla dowolnego adresu, co dokładnie znaczą daty w certyfikacie i dlaczego sprawdzenie raz w miesiącu nie chroni przed niczym.

Gdzie w przeglądarce zobaczysz datę ważności certyfikatu?

Najszybsza droga prowadzi przez ikonę obok adresu. W Chrome kliknij ikonę po lewej stronie adresu, wybierz „To połączenie jest bezpieczne”, potem „Certyfikat jest prawidłowy”. Otworzy się okno z danymi certyfikatu, a w zakładce ze szczegółami znajdziesz okres ważności: datę początkową i datę końcową. W Firefoksie ta sama droga to ikona kłódki, „Połączenie bezpieczne”, „Więcej informacji”, „Wyświetl certyfikat”. W Edge układ jest taki jak w Chrome, bo obie przeglądarki stoją na tym samym silniku.

Ta metoda ma jedną zaletę i trzy ograniczenia. Zaleta: nie trzeba niczego instalować i zajmuje kilkanaście sekund. Ograniczenia: pokazuje certyfikat tylko tego adresu, który masz właśnie otwarty, tylko z Twojej sieci i tylko w tej chwili. Jeśli firma ma stronę, panel, API i bramkę płatności pod różnymi adresami, przeklikanie ich wszystkich zajmie więcej czasu niż jedno polecenie z następnej sekcji.

Jest też pułapka, o której łatwo zapomnieć. Przeglądarka pokazuje certyfikat serwera, który akurat odpowiedział. Gdy za jednym adresem stoi kilka maszyn, a certyfikat na jednej z nich został odnowiony, a na drugiej nie, sprawdzenie z przeglądarki potrafi kilka razy z rzędu trafić na tę zdrową i niczego nie ujawnić.

Jak sprawdzić datę ważności certyfikatu jednym poleceniem?

Wiersz poleceń daje odpowiedź szybciej niż przeglądarka i pozwala sprawdzić adres, którego nie chcesz albo nie możesz otwierać. Poniższe polecenia działają na Linuksie i macOS od razu, a na Windowsie w Git Bashu albo w WSL, bo oba niosą ze sobą openssl i curl.

  • Sam termin ważności

    openssl s_client -connect twojsklep.pl:443 -servername twojsklep.pl, a wynik przepuszczony przez openssl x509 -noout -dates. W odpowiedzi notBefore to początek ważności, notAfter koniec. To jest właśnie data, której szukasz.

  • Termin razem z wystawcą i adresem

    Dopisz -issuer -subject na końcu drugiego polecenia. Zobaczysz, kto wystawił certyfikat i na jakie nazwy został wystawiony. Przydaje się, gdy chcesz sprawdzić, czy certyfikat obejmuje także subdomenę, pod którą stoi panel albo sklep.

  • Najkrótsza wersja, bez openssl

    curl -vI https://twojsklep.pl, a w wypisanych wierszach szukaj expire date. Curl podaje termin wygaśnięcia przy nawiązywaniu połączenia. Wersja dla jednego adresu i dla szybkiego sprawdzenia w trakcie wdrożenia.

  • Certyfikat serwera poczty

    openssl s_client -connect poczta.twojafirma.pl:993 dla IMAP po TLS albo openssl s_client -starttls smtp -connect poczta.twojafirma.pl:587 dla poczty wychodzącej. Wynik przepuść przez to samo openssl x509 -noout -dates.

  • Sprawdzenie wielu adresów naraz

    Wpisz adresy do pliku, po jednym w wierszu, i przejdź je pętlą w powłoce, wywołując dla każdego to samo polecenie zakończone na openssl x509 -noout -enddate. Kilkanaście adresów sprawdza się w kilka sekund i od razu widać, który wypada z rytmu.

Co dokładnie znaczą daty, które zobaczysz?

Certyfikat niesie dwie daty: notBefore i notAfter, czyli początek i koniec okresu ważności. Obie są podane z dokładnością do sekundy i w czasie UTC, więc w Polsce trzeba do nich dodać godzinę zimą i dwie latem. To nie jest szczegół dla pedantów: certyfikat, który według wydruku wygasa „jutro o 2:00”, w naszej strefie przestaje działać jutro o 4:00 rano, a nie w ciągu dnia roboczego.

Okres ważności jest dziś krótszy, niż podpowiada pamięć, i będzie się dalej skracał. Certyfikaty z Let's Encrypt są wystawiane na 90 dni, a od 13 marca 2026 żaden publicznie zaufany certyfikat nie może obowiązywać dłużej niż 200 dni; wcześniej granicą było 398 dni. Harmonogram idzie dalej: od 15 marca 2027 będzie to 100 dni, a od 15 marca 2029 tylko 47. Przyzwyczajenie z czasów, gdy kupowało się certyfikat na trzy lata i zapominało o nim, już nie działa: odnowienie wraca teraz dwa razy do roku, za trzy lata będzie wracać co półtora miesiąca.

Trzecia rzecz to łańcuch. Twój certyfikat jest podpisany certyfikatem pośrednim, a ten certyfikatem głównym wystawcy. Certyfikat pośredni ma własne daty i własną historię wycofywania. Połączenie potrafi przestać działać, choć Twój własny certyfikat jest ważny jeszcze przez miesiące, bo serwer podaje nieaktualny certyfikat pośredni. Dlatego w poleceniu warto czasem zamienić -noout -dates na -showcerts i spojrzeć na cały łańcuch, a nie na pierwszy wpis.

Dlaczego jednorazowe sprawdzenie niczego nie załatwia?

Bo odpowiada na pytanie o dzisiaj, a problem zdarzy się w przyszłości, w dniu, którego nikt nie będzie pamiętał. Wpis w kalendarzu pomaga tylko wtedy, gdy przetrwa zmianę pracy, zmianę hostingu i przeprowadzkę kalendarza, a przy odnowieniu co 90 dni trzeba go poprawiać cztery razy w roku.

Drugi powód jest poważniejszy: automatyczne odnawianie psuje się po cichu. Darmowe certyfikaty odnawiają się same, dopóki wszystko się zgadza. Wystarczy jednak zmiana adresu IP, przekierowanie blokujące weryfikację, usługa odnawiania wyłączona po restarcie serwera albo limit po stronie wystawcy, a proces przestaje działać i nikomu tego nie mówi. Automat mówi, że próbował, a nie że na serwerze leży ważny certyfikat.

Trzeci powód to liczba miejsc. Strona, sklep, panel klienta, API, serwer poczty, subdomena z dokumentacją: każdy z tych adresów podaje certyfikat osobno, nawet jeśli wszystkie są objęte jednym wspólnym certyfikatem. Wspólny certyfikat wygasa dla wszystkich naraz, ale każdy adres może przestać go poprawnie podawać osobno, na przykład po zmianie konfiguracji jednej maszyny.

Co się dzieje w minucie, w której certyfikat traci ważność?

Przeglądarka pokazuje pełnoekranowe ostrzeżenie, którego przeciętny klient nie ominie i nie powinien omijać. Dla sklepu to nie jest spowolnienie sprzedaży, tylko jej zatrzymanie, bo ekran ostrzeżenia stoi przed stroną, a nie za nią.

Gorzej reagują maszyny. Bramka płatności, kurier i system magazynowy weryfikują certyfikat twardziej niż przeglądarka i po prostu odrzucają połączenie. Zamówienia przestają wchodzić, choć serwer stoi i odpowiada kodem 200. Monitoring, który sprawdza sam kod odpowiedzi, w ogóle tego nie zauważy.

Wygasły certyfikat ma jeszcze jedną cechę, która odróżnia go od każdej innej awarii: jego datę znasz z wyprzedzeniem co do sekundy. To jedyna awaria, którą da się odwołać, zanim się wydarzy, i dlatego najbardziej szkoda ją przegapić.

Jak ustawić ostrzeżenie zamiast wpisu w kalendarzu?

Sprawdzanie ręczne zastępuje się monitoringiem, który zadaje to samo pytanie za Ciebie, tyle że regularnie i dla każdego adresu z osobna. W Uptimo odczytujemy termin ważności i wystawcę wprost z połączenia, z każdego monitorowanego adresu https. Nie zakładasz osobnej usługi „certyfikat”: dodajesz stronę do monitorowania, a jej certyfikat jest sprawdzany przy okazji, więc nie da się dodać adresu i zapomnieć o jego terminie.

Pilnowanie terminu ważności certyfikatu jest w każdym planie, także w darmowym. Plan Solo kosztuje 0 zł bezterminowo, obejmuje 3 usługi i interwał od 5 minut, więc na jedną firmową domenę z pocztą wystarcza. Ostrzeżenie idzie na tyle dni przed końcem, ile sam ustawisz, a wygasające certyfikaty widać na pulpicie razem z wystawcą i datą, zanim zadziała jakikolwiek alert. Powiadomienia e-mail są w każdym planie, a od planu Start dochodzą Slack, Teams, SMS i webhook.

Dobry układ dla jednej domeny wygląda tak: sprawdzenie HTTPS strony, sprawdzenie DNS i sprawdzenie adresu, pod którym stoi panel albo bramka. Certyfikaty wszystkich trzech są wtedy pilnowane bez dodatkowej pracy, a alert o zbliżającym się terminie przychodzi wtedy, gdy da się jeszcze spokojnie zareagować, a nie w sobotę rano.

Czego sprawdzenie certyfikatu nie powie?

Nie odnowi go za Ciebie. Nie mamy dostępu do Twojego serwera i nie chcemy go mieć; mówimy tylko, kiedy trzeba działać. Odnowienie zostaje po stronie tego, kto zarządza serwerem, i jest to świadomy podział, a nie brak funkcji.

Odczytujemy termin ważności i wystawcę. Nie oceniamy siły szyfrowania i nie badamy, czy certyfikat został unieważniony przed czasem. Jeśli potrzebujesz pełnej oceny konfiguracji TLS, zrobi to osobne narzędzie audytowe, uruchamiane raz na jakiś czas, a nie monitoring działający całą dobę.

Nie pilnujemy też terminu rejestracji domeny i mówimy to wprost. Wygasła domena wygląda z zewnątrz podobnie do wygasłego certyfikatu, ale to zupełnie inna awaria: datę ważności domeny znajdziesz u rejestratora, włącz tam automatyczne odnawianie i sprawdź, czy dane do faktur są aktualne. Dla usług, które nie są adresem https, mamy sprawdzenie portu TCP: mówi, czy usługa nasłuchuje, ale certyfikatu z niej nie odczytuje.

Sprawdź raz, a potem niech sprawdza się samo

Polecenie z drugiej sekcji odpowiada na pytanie o dzisiaj. Monitoring odpowiada na pytanie o każdy kolejny dzień, także ten, w którym nikt nie będzie pamiętał o odnowieniu. Pilnowanie terminu ważności certyfikatu jest w każdym planie, także w darmowym, i nie wymaga zakładania osobnej usługi.