I certificati SSL hanno periodi di validita’ limitati e devono essere rinnovati regolarmente per rimanere attendibili dai browser. I certificati pubblici emessi dopo il 15 marzo 2026 sono limitati a 200 giorni, con la validita’ massima che scende a 100 giorni il 15 marzo 2027 e 47 giorni il 15 marzo 2029. Sapere esattamente quando scade un certificato ti aiuta a rinnovarlo in tempo ed evitare interruzioni del servizio.
Questa guida mostra come verificare la scadenza del certificato con OpenSSL: per un server attivo, per un file locale, e come controllare se un certificato sta per scadere.
Risposta rapida:
Per un sito web attivo, 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 e’ la data di scadenza.
Metodo 1: Verificare un certificato su un server attivo
Questo metodo si connette a un sito web in esecuzione e legge il certificato che serve; non e’ necessario avere il file del certificato. Funziona per qualsiasi host raggiungibile (un dominio remoto, o localhost con la porta corretta 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, poiche’ macOS e’ di tipo Unix (il suo openssl integrato e’ LibreSSL, che supporta queste opzioni).
Su Windows
- Apri il 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 eliminare i messaggi di errore.
Metodo 2: Verificare un certificato da un file PEM
Un file PEM e’ un certificato codificato in base64 che inizia con —–BEGIN CERTIFICATE—– e termina con —–END CERTIFICATE—–. Usa questo metodo quando hai il file del certificato sul disco.
Su Linux e macOS
Spostati nella cartella che contiene il tuo certificato, quindi 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.
Visualizzare entrambe le date o verificare se un certificato scade presto
Per visualizzare 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 scadra’ entro un determinato intervallo di tempo, 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 (e termina con stato 0) o 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 il server attivo 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 un’interazione.
- openssl s_client — apre una connessione SSL/TLS al server.
- -servername example.com — imposta la Server Name Indication (SNI), necessaria quando un server ospita piu’ certificati per domini diversi.
- -connect example.com:443 — l’host e la porta a cui connettersi (la porta 443 e’ la porta HTTPS standard).
- 2>/dev/null (Linux/macOS) o 2>nul (Windows) — elimina i messaggi di errore in modo che venga mostrato solo l’output rilevante.
- | openssl x509 -noout -enddate — invia il certificato allo strumento x509 tramite pipe; -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.
Automatizza: smetti di tracciare le date manualmente
Invece di controllare manualmente le date di scadenza, specialmente man mano che i periodi di validita’ si riducono verso i 47 giorni, puoi utilizzare ACME come Certificate-as-a-Service (CaaS). Gestisce la validazione del dominio, installa i certificati e li rinnova automaticamente prima della scadenza, in modo che il tuo sito rimanga attendibile senza intervento manuale.
Conclusione
OpenSSL verifica la scadenza del certificato in una sola riga, da un server attivo con s_client, o da un file con x509 -enddate, mentre -dates e -checkend aggiungono la data di emissione e un controllo di scadenza imminente. Il campo notAfter ti indica esattamente quando rinnovare, cosi’ puoi evitare interruzioni del servizio. Quando sei pronto per rinnovare, sfoglia i nostri certificati SSL.
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

