Les certificats SSL ont des périodes de validité limitées et doivent être renouvelés régulièrement pour rester approuvés par les navigateurs. Les certificats publics émis après le 15 mars 2026 sont limités à 200 jours, la validité maximale passant à 100 jours le 15 mars 2027 puis à 47 jours le 15 mars 2029. Savoir exactement quand un certificat expire vous aide à le renouveler à temps et à éviter les interruptions.
Ce guide vous montre comment vérifier la date d’expiration d’un certificat avec OpenSSL : pour un serveur en ligne, pour un fichier local, et comment vérifier si un certificat est proche de son expiration.
Réponse rapide :
Pour un site web en ligne, exécutez :
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate.
Pour un fichier de certificat, exécutez :
openssl x509 -in your_certificate.pem -noout -enddate.
La valeur notAfter correspond à la date d’expiration.
Méthode 1 : Vérifier un certificat sur un serveur en ligne
Cette méthode se connecte à un site web actif et lit le certificat qu’il diffuse ; vous n’avez pas besoin du fichier de certificat. Elle fonctionne pour tout hôte accessible (un domaine distant, ou localhost avec le bon port pour un serveur local).
Sur Linux et macOS
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddate
Remplacez yourdomain.com par votre domaine réel. Les commandes sont identiques sur macOS, car macOS est de type Unix (son openssl intégré est LibreSSL, qui prend en charge ces options).
Sur Windows
- Ouvrez l’invite de commandes ou PowerShell (appuyez sur Win + R, tapez cmd ou powershell, puis appuyez sur Entrée).
- Exécutez :
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>nul | openssl x509 -noout -enddate
Sur Windows, utilisez 2>nul au lieu de 2>/dev/null pour ignorer les messages d’erreur.
Méthode 2 : Vérifier un certificat à partir d’un fichier PEM
Un fichier PEM est un certificat encodé en base64 qui commence par —–BEGIN CERTIFICATE—– et se termine par —–END CERTIFICATE—–. Utilisez cette méthode lorsque vous disposez du fichier de certificat sur le disque.
Sur Linux et macOS
Déplacez-vous dans le dossier contenant votre certificat, puis lisez sa date d’expiration (remplacez your_certificate.pem par le nom de votre fichier) :
cd /path/to/your/certificate/directory
openssl x509 -in your_certificate.pem -noout -enddate
Sur Windows
cd C:pathtoyourcertificatedirectory
openssl x509 -in your_certificate.pem -noout -enddate
Assurez-vous qu’OpenSSL est installé et présent dans votre PATH ; sinon, indiquez le chemin complet vers le binaire openssl.exe.
Afficher les deux dates, ou vérifier si un certificat expire bientôt
Pour voir à la fois la date d’émission (notBefore) et la date d’expiration (notAfter), utilisez -dates au lieu de -enddate :
openssl x509 -in your_certificate.pem -noout -dates
Pour vérifier si un certificat va expirer dans un délai donné, utilisez -checkend avec un nombre de secondes (ici, 2592000 secondes = 30 jours) :
openssl x509 -in your_certificate.pem -noout -checkend 2592000
Elle affiche Certificate will not expire (et se termine avec le statut 0) ou Certificate will expire (statut 1) — ce qui la rend idéale pour les scripts de surveillance et les tâches cron.
Comprendre la commande et le résultat
Prenons comme exemple la commande pour serveur en ligne et son résultat :
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate
Résultat :
notAfter=Sep 15 23:59:59 2026 GMT
Voici le rôle de chaque partie :
- echo | — envoie une entrée vide pour que la commande se termine sans attendre d’interaction.
- openssl s_client — ouvre une connexion SSL/TLS vers le serveur.
- -servername example.com — définit le Server Name Indication (SNI), nécessaire lorsqu’un serveur héberge plusieurs certificats pour différents domaines.
- -connect example.com:443 — l’hôte et le port auxquels se connecter (le port 443 est le port HTTPS standard).
- 2>/dev/null (Linux/macOS) ou 2>nul (Windows) — ignore les messages d’erreur afin que seul le résultat pertinent soit affiché.
- | openssl x509 -noout -enddate — transmet le certificat à l’outil x509 ; -noout supprime l’affichage du contenu PEM et -enddate n’affiche que la date d’expiration.
- notAfter=… — la date et l’heure à partir desquelles le certificat n’est plus valide.
Automatisez le processus : arrêtez de suivre les dates manuellement
Plutôt que de vérifier manuellement les dates d’expiration, surtout à mesure que les périodes de validité se réduisent jusqu’à 47 jours, vous pouvez utiliser ACME en tant que Certificate-as-a-Service (CaaS). Il gère la validation de domaine, installe les certificats et les renouvelle automatiquement avant leur expiration, afin que votre site reste digne de confiance sans intervention manuelle.
Economisez 10% sur les certificats SSL en commandant aujourd’hui!
Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10

