bg-tutorials

Cum să verifici data de expirare a certificatului SSL cu OpenSSL

Certificatele SSL au perioade de valabilitate limitate și trebuie reînnoite periodic pentru a rămâne de încredere pentru browsere. Certificatele publice emise după 15 martie 2026 sunt limitate la 200 de zile, valabilitatea maximă scăzând la 100 de zile pe 15 martie 2027 și la 47 de zile pe 15 martie 2029. Știind exact când expiră un certificat, îl poți reînnoi la timp și evita întreruperile.

Acest ghid îți arată cum să verifici expirarea certificatelor cu OpenSSL: pentru un server activ, pentru un fișier local și cum să verifici dacă un certificat este pe cale să expire.

Răspuns rapid:

Pentru un site activ, rulează:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate. 

Pentru un fișier de certificat, rulează:

openssl x509 -in your_certificate.pem -noout -enddate. 

Valoarea notAfter reprezintă data de expirare.

Metoda 1: Verificarea unui certificat pe un server activ

Această metodă se conectează la un site activ și citește certificatul pe care îl servește, fără a fi nevoie de fișierul certificatului. Funcționează pentru orice gazdă accesibilă (un domeniu la distanță sau localhost cu portul corespunzător pentru un server local).

Pe Linux și macOS

echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddate

Înlocuiește yourdomain.com cu domeniul tău real. Comenzile sunt identice pe macOS, deoarece macOS este de tip Unix (versiunea sa built-in de openssl este LibreSSL, care acceptă aceste opțiuni).

Pe Windows

  • Deschide Command Prompt sau PowerShell (apasă Win + R, tastează cmd sau powershell și apasă Enter).
  • Rulează:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>nul | openssl x509 -noout -enddate

Pe Windows, folosește 2>nul în loc de 2>/dev/null pentru a elimina mesajele de eroare.

Metoda 2: Verificarea unui certificat dintr-un fișier PEM

Un fișier PEM este un certificat codificat în base64 care începe cu ––BEGIN CERTIFICATE–– și se termină cu ––END CERTIFICATE––. Folosește această metodă când ai fișierul certificatului pe disc.

Pe Linux și macOS

Navighează în folderul care conține certificatul tău, apoi citește data de expirare (înlocuiește your_certificate.pem cu numele fișierului tău):

cd /path/to/your/certificate/directory
openssl x509 -in your_certificate.pem -noout -enddate

Pe Windows

cd C:pathtoyourcertificatedirectory
openssl x509 -in your_certificate.pem -noout -enddate

Asigură-te că OpenSSL este instalat și inclus în PATH; în caz contrar, specifică calea completă către binarul openssl.exe.

Afișarea ambelor date sau verificarea dacă un certificat expiră în curând

Pentru a vedea atât data emiterii (notBefore), cât și data expirării (notAfter), folosește -dates în loc de -enddate:

openssl x509 -in your_certificate.pem -noout -dates

Pentru a verifica dacă un certificat va expira într-un interval de timp dat, folosește -checkend cu un număr de secunde (aici, 2592000 secunde = 30 de zile):

openssl x509 -in your_certificate.pem -noout -checkend 2592000

Afișează Certificate will not expire (și iese cu statusul 0) sau Certificate will expire (statusul 1) – ceea ce îl face ideal pentru scripturi de monitorizare și cron jobs.

Înțelegerea comenzii și a rezultatelor

Ia ca exemplu comanda pentru serverul activ și rezultatul acesteia:

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate

Rezultat:

notAfter=Sep 15 23:59:59 2026 GMT

Iată ce face fiecare parte:

  • echo | – trimite o intrare goală pentru ca comanda să se finalizeze fără a aștepta interacțiune.
  • openssl s_client – deschide o conexiune SSL/TLS către server.
  • -servername example.com – setează Server Name Indication (SNI), necesar când un server găzduiește mai multe certificate pentru domenii diferite.
  • -connect example.com:443 – gazda și portul la care se conectează (portul 443 este portul standard HTTPS).
  • 2>/dev/null (Linux/macOS) sau 2>nul (Windows) – elimină mesajele de eroare, astfel încât să fie afișat doar rezultatul relevant.
  • | openssl x509 -noout -enddate – transmite certificatul către instrumentul x509; -noout suprimă afișarea PEM, iar -enddate afișează doar data de expirare.
  • notAfter=… – data și ora la care certificatul încetează să mai fie valid.

Automatizează procesul: nu mai urmări datele manual

În loc să verifici manual datele de expirare, mai ales pe măsură ce perioadele de valabilitate scad spre 47 de zile, poți folosi ACME ca Certificate-as-a-Service (CaaS). Acesta gestionează validarea domeniului, instalează certificatele și le reînnoiește automat înainte de expirare, astfel încât site-ul tău rămâne de încredere fără intervenție manuală.

Concluzie

OpenSSL verifică expirarea certificatelor într-o singură linie – de pe un server activ cu s_client sau dintr-un fișier cu x509 -enddate – în timp ce -dates și -checkend adaugă data emiterii și o verificare a expirării iminente. Câmpul notAfter îți spune exact când să reînnoiești, astfel încât să eviți întreruperile serviciului. Când ești gata să reînnoiești, explorează certificatele noastre SSL.

Economisește 10% la certificatele SSL în momentul plasării comenzii!

Eliberare rapidă, criptare puternică, încredere în browser de 99,99%, suport dedicat și garanție de returnare a banilor în 25 de zile. Codul cuponului: SAVE10

A detailed image of a dragon in flight

Autor cu experiență, specializat în certificate SSL. Transformă subiectele complexe despre securitatea cibernetică în conținut clar și captivant. Contribuie la îmbunătățirea securității digite prin narațiuni cu impact.