Pour vérifier la date d'expiration d'un certificat SSL, saisissez le domaine (juste exemple.fr, sans https://) dans notre vérificateur SSL gratuit et lisez la ligne Expire le. En ligne de commande, openssl s_client enchaîné à openssl x509 -noout -enddate affiche la même date sous le nom notAfter. L'outil est gratuit, sans inscription et fonctionne dans n'importe quel navigateur, sans rien installer.
Voici quatre façons de trouver cette date, avec les résultats réels de tests effectués le 29 octobre 2026. La seconde partie explique ce que la date d'expiration ne dit pas : un certificat peut être dans ses dates de validité et déclencher quand même une alerte du navigateur.
Quatre façons de vérifier l'expiration d'un certificat SSL
- Vérificateur SSL en ligne : le plus rapide, utilisable sur mobile, et il montre le certificat que voit le reste d'Internet.
- Votre navigateur : pratique pour un coup d'œil sur le site ouvert.
- openssl : la référence sous Linux, macOS et sur les serveurs, et facile à scripter.
- curl : utile quand vous déboguez déjà des requêtes HTTP.
Méthode 1 : vérifier l'expiration en ligne
- Ouvrez le vérificateur SSL.
- Saisissez uniquement le nom d'hôte :
exemple.frouboutique.exemple.fr. Si vous collez une URL complète, l'outil n'en garde que l'hôte. - Laissez le port sur
443pour un site web. Changez-le seulement pour d'autres services TLS (voir plus bas). - Cliquez sur Envoyer et lisez Expire le. Les heures sont en UTC.
- Comptez les jours restants et notez dans votre agenda un contrôle du renouvellement, avec de la marge.
Exemple réel : mybotsy.com
Nous avons passé notre propre domaine dans le vérificateur SSL. Voici le résultat (dates en UTC) :
| Ligne | Résultat |
|---|---|
| Statut | Coche verte |
| Émis le | 2026-09-23 07:23:13 |
| Expire le | 2026-12-22 08:21:51 |
| Organisation | Google Trust Services |
| Nom commun | WE1 |
| Pays | États-Unis |
| Type de signature | ecdsa-with-SHA256 |
Comment le lire :
- Expire le correspond à la date
notAfterdu certificat. Le 29 octobre, il restait 53 jours. - Entre Émis le et Expire le, il y a exactement 90 jours, la durée habituelle des certificats automatisés.
- Organisation, Nom commun et Pays décrivent l'émetteur, pas votre site. WE1 est l'une des autorités intermédiaires de Google Trust Services. Ne vous attendez pas à voir votre domaine dans Nom commun. Pour savoir quels noms couvre le certificat, passez par le navigateur ou openssl (plus bas).
- Le statut passe au vert quand la date du jour se situe entre les deux dates. Il ne vérifie que les dates (on y revient plus bas).
Pourquoi Google Trust Services ? mybotsy.com est derrière Cloudflare : les visiteurs reçoivent le certificat de périphérie de Cloudflare, qui l'obtient auprès d'autorités publiques comme Google Trust Services. Si votre site utilise un CDN, toute vérification publique affiche le certificat du CDN. Celui de votre serveur d'origine a sa propre date d'expiration et doit être contrôlé séparément.
Serveurs mail et autres ports
Le champ port sert aux services qui parlent TLS dès le premier octet. Nous avons testé smtp.gmail.com sur le port 465 (SMTP sur TLS) : émis le 7 octobre 2026, expire le 30 décembre 2026, émetteur Google Trust Services WE2. Le 993 (IMAP) et le 995 (POP3) sont aussi en TLS direct. Les ports qui démarrent en clair puis passent au chiffrement avec STARTTLS, comme le 587 ou le 143, demandent openssl s_client -starttls smtp (ou imap), car le vérificateur attend du TLS dès la connexion.
Méthode 2 : le voir dans le navigateur
Tous les navigateurs affichent le certificat de la page ouverte. Les intitulés varient un peu selon les versions, mais le chemin ressemble à ceci :
- Chrome et Edge : cliquez sur l'icône à gauche de l'adresse, puis sur La connexion est sécurisée et Le certificat est valide. La date d'expiration figure dans la période de validité.
- Firefox : cadenas, Connexion sécurisée, Plus d'informations, Afficher le certificat. La date de fin apparaît dans la section de validité (Not After dans la version anglaise).
- Safari : cadenas, Afficher le certificat, puis la date d'expiration dans les détails.
Le navigateur liste aussi les noms alternatifs du sujet (SAN), les noms d'hôte exacts couverts par le certificat. Le piège : vous ne voyez que le certificat reçu par votre navigateur. Avec un CDN, un répartiteur de charge ou un vieux certificat resté sur un des serveurs, d'autres visiteurs peuvent recevoir autre chose.
Méthode 3 : vérifier avec openssl
Sous Linux, macOS ou Windows (WSL ou Git Bash), cette commande se connecte au serveur et affiche les deux dates :
echo | openssl s_client -connect mybotsy.com:443 -servername mybotsy.com 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates
Notre résultat :
subject=CN=mybotsy.com
issuer=C=US, O=Google Trust Services, CN=WE1
notBefore=Sep 23 07:23:13 2026 GMT
notAfter=Dec 22 08:21:51 2026 GMT
Il correspond à la seconde près au vérificateur en ligne. Deux détails comptent :
- Passez toujours
-servername. Il envoie le SNI, qui indique à un serveur hébergeant plusieurs sites quel certificat vous voulez. Sans lui, un hébergement mutualisé peut vous renvoyer le certificat d'un autre site, et vous lirez la mauvaise date. echo |ferme la connexion tout de suite, pour que la commande n'attende pas une saisie.
Ajoutez -ext subjectAltName à la seconde commande pour lister les noms couverts. Pour mybotsy.com, cela donne DNS:mybotsy.com, DNS:*.mybotsy.com.
Être prévenu avant l'échéance : -checkend
-checkend prend un nombre de secondes et renvoie le code 1 si le certificat expire dans ce délai. Idéal pour cron et la CI :
... | openssl x509 -noout -checkend 2592000 # 30 jours
Certificate will not expire (code de sortie 0)
... | openssl x509 -noout -checkend 7776000 # 90 jours
Certificate will expire (code de sortie 1)
Les deux lignes portent sur le même certificat de mybotsy.com, à 53 jours de l'échéance. Il tient les 30 prochains jours, pas les 90 prochains.
Contrôler une liste de domaines avec les jours restants
Mettez un hôte par ligne dans hosts.txt et lancez :
while read -r host; do
end=$(echo | openssl s_client -connect "$host:443" -servername "$host" 2>/dev/null \
| openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
if [ -z "$end" ]; then echo "$host no certificate"; continue; fi
days=$(( ( $(date -d "$end" +%s) - $(date +%s) ) / 86400 ))
echo "$host $end $days days left"
done < hosts.txt
Notre résultat :
mybotsy.com Dec 22 08:21:51 2026 GMT 53 days left
expired.badssl.com Apr 12 23:59:59 2015 GMT -4217 days left
wrong.host.badssl.com Dec 28 20:02:55 2026 GMT 60 days left
date -d est une syntaxe GNU. Sous macOS, installez coreutils et utilisez gdate -d. Un fichier sur disque se lit aussi directement : openssl x509 -in cert.pem -noout -enddate.
Avec curl
curl -svI https://mybotsy.com 2>&1 | grep -i "expire date" a affiché expire date: Dec 22 08:21:51 2026 GMT. curl refuse aussi les certificats invalides : pour expired.badssl.com comme pour wrong.host.badssl.com, il s'est arrêté avec le code 60 (problème de certificat), facile à tester dans un script.
Ce qu'une date d'expiration ne prouve pas
Nous avons utilisé les hôtes de test de badssl.com, cassés volontairement, pour voir ce qu'un contrôle des dates détecte et ce qu'il laisse passer.
Certificat expiré : détecté
expired.badssl.com dans le vérificateur SSL a affiché un statut rouge, émis le 9 avril 2015 et expiré le 12 avril 2015. openssl confirme : Verify return code: 10 (certificate has expired).
Mauvais nom d'hôte : les dates ne le voient pas
wrong.host.badssl.com a affiché un statut vert, avec une expiration au 28 décembre 2026, alors que les navigateurs le rejettent. Avec -verify_hostname wrong.host.badssl.com, openssl a renvoyé Verify return code: 62 (hostname mismatch). Le certificat couvre *.badssl.com et badssl.com, et un joker ne couvre qu'un seul niveau. Il couvre www.badssl.com, mais pas wrong.host.badssl.com, qui a deux niveaux devant le domaine.
Chaîne cassée : les dates ne la voient pas non plus
Avec openssl, self-signed.badssl.com a renvoyé le code 18 (certificat auto-signé), untrusted-root.badssl.com le 19 et incomplete-chain.badssl.com le 21 (impossible de vérifier le premier certificat). Le 21, c'est l'oubli classique du certificat intermédiaire. Certains navigateurs de bureau compensent seuls, mais beaucoup d'applications, de clients d'API et de vieux smartphones échouent.
À retenir : la date d'expiration sert à planifier le renouvellement. Pour confirmer qu'un certificat est vraiment valide, vérifiez qu'il couvre le nom et qu'openssl avec -verify_hostname affiche Verify return code: 0 (ok), ou que curl se termine sans erreur.
Des certificats de plus en plus courts
Le ballot SC-081v3 du CA/Browser Forum limite à 200 jours les certificats TLS publics émis depuis le 15 mars 2026. Le plafond tombe à 100 jours le 15 mars 2027, puis à 47 jours le 15 mars 2029. La plupart des certificats que nous avons vérifiés sont déjà bien en dessous : 90 jours pour mybotsy.com et pour le certificat Let's Encrypt de badssl.com, 84 jours pour le SMTP de Gmail. Renouveler à la main une fois par an n'est plus tenable. Le renouvellement automatique (clients ACME comme Certbot, ou le SSL automatique de votre hébergeur ou CDN) est devenu la norme, et vérifier la date sert à s'assurer que cette automatisation fonctionne encore.
Échéance proche ? La check-list de dépannage
- Renouvelé, mais l'ancienne date s'affiche encore ? Le serveur web sert peut-être toujours l'ancien certificat. Nginx et Apache chargent les certificats au démarrage ou au rechargement, donc rechargez le service après le renouvellement et vérifiez chaque serveur derrière le répartiteur.
- Derrière un CDN ? Contrôlez séparément le certificat de périphérie (n'importe quelle vérification publique) et celui de l'origine.
- Le renouvellement automatique échoue ? Un enregistrement CAA qui n'autorise pas votre autorité bloque l'émission. Vérifiez-le avec la recherche DNS et notre guide pour vérifier les enregistrements DNS.
- Ne confondez pas avec l'expiration du domaine. L'enregistrement du domaine a sa propre date, visible dans le Whois. Si le domaine expire, un certificat valide n'y change rien.
- Une fois corrigé, vérifiez que
http://redirige vershttps://avec le vérificateur de redirections, puis cherchez l'en-têtestrict-transport-securitydans l'analyse des en-têtes HTTP.
Vérifiez le vôtre maintenant : ouvrez le vérificateur SSL, saisissez votre domaine et notez la date Expire le. C'est gratuit et sans inscription, comme le test HTTP/2 et les autres outils pour sites web.
Questions fréquentes
Comment savoir quand mon certificat SSL expire ?
Saisissez votre domaine dans le vérificateur SSL gratuit de My Botsy et lisez la ligne Expire le, en heure UTC. En terminal, lancez openssl s_client avec -servername et passez la sortie à openssl x509 -noout -enddate pour lire la date notAfter.
Que se passe-t-il quand un certificat SSL expire ?
Les navigateurs affichent une alerte pleine page, comme Votre connexion n'est pas privée dans Chrome, et la plupart des visiteurs repartent. Les applications, les clients d'API et des outils comme curl refusent carrément de se connecter. Rien ne rentre dans l'ordre tant qu'un nouveau certificat n'est pas installé et le serveur rechargé.
Combien de temps dure un certificat SSL ?
Les certificats publics émis depuis le 15 mars 2026 durent au maximum 200 jours. Le plafond passe à 100 jours en mars 2027 et à 47 jours en mars 2029. Beaucoup, comme ceux de Let's Encrypt ou de Google Trust Services, durent déjà environ 90 jours.
Pourquoi mon site affiche-t-il l'ancienne date après le renouvellement ?
En général, le serveur web n'a pas été rechargé, un serveur derrière le répartiteur garde l'ancien fichier, ou vous regardez le certificat du CDN au lieu de celui de l'origine. Rechargez le serveur, puis revérifiez avec -servername.
Une date valide signifie-t-elle que mon SSL fonctionne ?
Pas forcément. Un certificat dans ses dates peut échouer s'il ne couvre pas le nom d'hôte ou si la chaîne est incomplète. Vérifiez avec openssl -verify_hostname ou curl et cherchez le code de vérification 0.
Le vérificateur SSL est-il gratuit ?
Oui. Il est gratuit et ne demande aucun compte. Sans inscription, vous avez plusieurs vérifications gratuites par jour, et un compte My Botsy gratuit supprime la limite quotidienne.