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 tombant à 100 jours le 15 mars 2027 et à 47 jours le 15 mars 2029. Savoir exactement quand un certificat expire vous permet de le renouveler à temps et d’éviter les interruptions de service.
Ce guide vous montre comment vérifier l’expiration d’un certificat avec OpenSSL : pour un serveur en ligne, pour un fichier local, et comment vérifier si un certificat est sur le point d’expirer.
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 en cours d’exécution et lit le certificat qu’il présente ; 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 à la place 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
Accédez au dossier contenant votre certificat, puis lisez sa date de fin (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, spécifiez le chemin complet vers le binaire openssl.exe.
Afficher les deux dates ou vérifier si un certificat expire bientôt
Pour afficher à la fois la date d’émission (notBefore) et la date d’expiration (notAfter), utilisez -dates à la place de -enddate :
openssl x509 -in your_certificate.pem -noout -dates
Pour vérifier si un certificat expirera dans une fenêtre de temps donnée, utilisez -checkend avec un nombre de secondes (ici, 2592000 secondes = 30 jours) :
openssl x509 -in your_certificate.pem -noout -checkend 2592000
La commande 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 la sortie
Prenons la commande pour un serveur en ligne et sa sortie comme exemple :
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate
Sortie :
notAfter=Sep 15 23:59:59 2026 GMT
Voici ce que fait 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 l’indication du nom du serveur (SNI), requise 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 seule la sortie pertinente soit affichée.
- | openssl x509 -noout -enddate — redirige le certificat vers l’outil x509 ; -noout supprime l’affichage PEM et -enddate n’affiche que la date d’expiration.
- notAfter=… — la date et l’heure auxquelles le certificat cesse d’être valide.
Automatisez : 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 à 47 jours, vous pouvez utiliser ACME en tant que Certificate-as-a-Service (CaaS). Cette solution gère la validation du domaine, installe les certificats et les renouvelle automatiquement avant leur expiration, afin que votre site reste approuvé sans intervention manuelle.
En résumé
OpenSSL vérifie l’expiration d’un certificat en une seule ligne, depuis un serveur en ligne avec s_client, ou depuis un fichier avec x509 -enddate, tandis que -dates et -checkend ajoutent la date d’émission et une vérification d’expiration imminente. Le champ notAfter vous indique exactement quand renouveler afin d’éviter toute interruption de service. Lorsque vous êtes prêt à renouveler, parcourez nos certificats SSL.
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

