I certificati SSL hanno periodi di validità limitati e devono essere rinnovati regolarmente per rimanere attendibili per i browser. I certificati pubblici emessi dopo il 15 marzo 2026 sono limitati a 200 giorni, con la validità massima che scende a 100 giorni il 15 marzo 2027 e a 47 giorni il 15 marzo 2029. Sapere esattamente quando scade un certificato ti aiuta a rinnovarlo in tempo ed evitare interruzioni.
Questa guida ti mostra come controllare la scadenza di un certificato con OpenSSL: per un server live, per un file locale, e come verificare se un certificato è prossimo alla scadenza.
Risposta rapida:
Per un sito web live, esegui:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate.
Per un file di certificato, esegui:
openssl x509 -in your_certificate.pem -noout -enddate.
Il valore notAfter è la data di scadenza.
Metodo 1: Controllare un certificato su un server live
Questo metodo si connette a un sito web in esecuzione e legge il certificato che serve, non hai bisogno del file del certificato. Funziona per qualsiasi host raggiungibile (un dominio remoto, o localhost con la porta giusta per un server locale).
Su Linux e macOS
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddate
Sostituisci yourdomain.com con il tuo dominio effettivo. I comandi sono identici su macOS, poiché macOS è di tipo Unix (il suo openssl integrato è LibreSSL, che supporta queste opzioni).
Su Windows
- Apri Prompt dei comandi o PowerShell (premi Win + R, digita cmd o powershell, e premi Invio).
- Esegui:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>nul | openssl x509 -noout -enddate
Su Windows, usa 2>nul invece di 2>/dev/null per scartare i messaggi di errore.
Metodo 2: Controllare un certificato da un file PEM
Un file PEM è un certificato codificato in base64 che inizia con —–BEGIN CERTIFICATE—– e termina con —–END CERTIFICATE—–. Usa questo metodo quando hai il file del certificato su disco.
Su Linux e macOS
Spostati nella cartella che contiene il tuo certificato, poi leggi la sua data di scadenza (sostituisci your_certificate.pem con il nome del tuo file):
cd /path/to/your/certificate/directory
openssl x509 -in your_certificate.pem -noout -enddate
Su Windows
cd C:pathtoyourcertificatedirectory
openssl x509 -in your_certificate.pem -noout -enddate
Assicurati che OpenSSL sia installato e presente nel tuo PATH; altrimenti, specifica il percorso completo del binario openssl.exe.
Vedi entrambe le date, o controlla se un certificato scade a breve
Per vedere sia la data di emissione (notBefore) che la data di scadenza (notAfter), usa -dates invece di -enddate:
openssl x509 -in your_certificate.pem -noout -dates
Per verificare se un certificato scadrà entro una determinata finestra temporale, usa -checkend con un numero di secondi (qui, 2592000 secondi = 30 giorni):
openssl x509 -in your_certificate.pem -noout -checkend 2592000
Stampa Certificate will not expire (ed esce con stato 0) oppure Certificate will expire (stato 1) — il che lo rende ideale per script di monitoraggio e cron job.
Comprendere il comando e l’output
Prendiamo come esempio il comando per un server live e il suo output:
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate
Output:
notAfter=Sep 15 23:59:59 2026 GMT
Ecco cosa fa ciascuna parte:
- echo | — invia un input vuoto in modo che il comando termini senza attendere interazioni.
- openssl s_client — apre una connessione SSL/TLS al server.
- -servername example.com — impostazione della Server Name Indication (SNI), richiesta quando un server ospita più certificati per domini diversi.
- -connect example.com:443 — l’host e la porta a cui connettersi (la porta 443 è la porta HTTPS standard).
- 2>/dev/null (Linux/macOS) o 2>nul (Windows) — scarta i messaggi di errore in modo che venga mostrato solo l’output rilevante.
- | openssl x509 -noout -enddate — inoltra il certificato allo strumento x509; -noout sopprime il dump PEM e -enddate stampa solo la data di scadenza.
- notAfter=… — la data e l’ora in cui il certificato cessa di essere valido.
Automatizzalo: smetti di tenere traccia delle date manualmente
Invece di controllare manualmente le date di scadenza, soprattutto man mano che i periodi di validità si riducono verso i 47 giorni, puoi usare ACME come Certificate-as-a-Service (CaaS). Questo gestisce la validazione del dominio, installa i certificati e li rinnova automaticamente prima della scadenza, così il tuo sito rimane attendibile senza intervento manuale.
Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!
Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10

