Envato Elements - pobieraj co chcesz, ile chcesz

Kiedyś pisałem jak można uzyskać bezpłatny certyfikat SSL dla naszej strony internetowej od StartSSL/StartCom – dziś chciałbym rozszerzyć ten wątek o kilka przydatnych poleceń, dzięki którym sprawdzicie parametry m.in. swojego certyfikatu, w tym datę do kiedy jest ważny…

OpenSSL i informacje o certyfikacie

W tym celu skorzystamy z oprogramowania OpenSSL, dostępnego zarówno na urządzenia z systemem Linux, jak i Windows, które pewnie każdy z Was ma m.in. na swoim serwerze zainstalowane (choćby właśnie do obsługi certyfikatów i połączeń SSL/TLS).

Daty związane z certyfikatem sprawdzicie za pomocą polecenia:

sudo openssl x509 -noout -in /ścieżka/do/certyfikatu/ssl.crt -dates

Np.:

sudo openssl x509 -noout -in /etc/ssl/private/webinsider.pl/ssl.crt -dates

W odpowiedzi uzyskacie dwie daty związane z danym certyfikatem – początkową i końcową:

notBefore=Aug 10 22:15:18 2015 GMT
notAfter=Aug 10 17:44:06 2016 GMT

Kolejnym poleceniem możecie sprawdzić szczegóły związane np. z domena na którą certyfikat jest wystawiony:

sudo openssl x509 -noout -subject -in /ścieżka/do/certyfikatu/ssl.crt

Np.:

sudo openssl x509 -noout -subject -in /etc/ssl/private/webinsider.pl/ssl.crt

Tym razem w odpowiedzi uzyskacie domenę i adres e-mail związany z certyfikatem:

subject= /C=PL/CN=webinsider.pl/[email protected]

Za pomocą następnego polecenia odczytacie informacje o podmiocie który wystawił certyfikat:

sudo openssl x509 -noout -issuer -in /ścieżka/do/certyfikatu/ssl.crt

Np.:

sudo openssl x509 -noout -issuer -in /etc/ssl/private/webinsider.pl/ssl.crt

Co w przypadku testowanego certyfikatu wygląda tak:

issuer= /C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Class 1 Primary Intermediate Server CA

A jeśli ciągle Wam mało informacji, to możecie skorzystać z kolejnego polecenia, dzięki któremu odczytacie właściwie wszystkie możliwe informacje o certyfikacie:

sudo openssl x509 -text -in /ścieżka/do/certyfikatu/ssl.crt

Np.:

sudo openssl x509 -text -in /etc/ssl/private/webinsider.pl/ssl.crt

Od razu uprzedzam, że jest tego sporo, i choćby dlatego z polecenia w tej formule korzystam niezwykle rzadko…

Skrypt do automatycznego wyłapywania wygasających certyfikatów

Podane powyżej polecenia można wykorzystać również do przygotowaniu skryptu, który np. za pomocą CRONa będzie raz dziennie sprawdzał czy przypadkiem któryś z naszych certyfikatów nie wygasa w najbliższym czasie.

Oczywiście można by pobrać datę z systemu, datę końcową certyfikatu i jakiejś obróbce ją porównywać – ale to niepotrzebne komplikowanie sobie życia, bo na szczęście mamy do dyspozycji parametr:

-checkend [czas_w_sekundach]

Za pomocą tego parametru możemy sprawdzić, czy do końca ważności certyfikatu zostało mniej lub więcej sekund niż podaliśmy jako parametr.

Np. by sprawdzić, czy któryś certyfikat nie wygasa w ciągu najbliższych 7 dni (7 dni x 24 godziny x 60 minut x 60 sekund =  604800 sekund) polecenie będzie wyglądało tak:

sudo openssl x509 -noout -in /ścieżka/do/certyfikatu/ssl.crt -checkend 604800

Choć samo z siebie nic Wam nie da, bo ważna jest w tym przypadku odpowiedź programu OpenSSL, a konkretnie kod wyjścia/zakończenia:

  • exit 0 – certyfikat ważny więcej niż podany czas
  • exit 1 – certyfikat wygasa w podanym czasie/okresie

Więc cały kod będzie wyglądał tak:

if sudo openssl x509 -noout -in /ścieżka/do/certyfikatu/ssl.crt -checkend 604800
then
    echo "OK: Certyfikat nie wygasa w ciągu najbliższych 7 dni"
else
    echo "UWAGA: Certyfikat wygasa w ciągu najbliższych 7 dni"
    # Jakaś dodatkowa akcja, np. wysłanie wiadomości e-mail
fi
(!) Zgłoś błąd na stronie
Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera - ZERO SPAMu, same konkrety, oraz dostęp do dodatkowych materiałów przeznaczonych dla subskrybentów!
Na podany adres e-mail otrzymasz od nas wiadomość e-mail, w której znajdziesz link do potwierdzenia subskrypcji naszego Newslettera. Dzięki temu mamy pewność, że nikt nie dodał Twojego adresu przez przypadek. Jeśli wiadomość nie przyjdzie w ciągu najbliższej godziny (zazwyczaj jest to maksymalnie kilka minut) sprawdź folder SPAM.
Monika ćwiczy przed kongresem ko..., ale jej też należy się zniżka 80% na skięgowość wFirma dla oglądających WebInsider.pl
WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które – w miarę możliwości – spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. „linki partnerskie”, co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte… :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.
Spodobał Ci się artykuł? Zapisz się do naszego Newslettera!