Vérifier la date d'expiration d'un certificat SSL

Par • 29 Octobre, 2026 • Outils pour développeurs • 11 minutes de lecture

Trouvez quand expire un certificat SSL : en ligne, dans le navigateur ou avec openssl et curl. Exemples réels et limites d'une date valide.

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

  1. Ouvrez le vérificateur SSL.
  2. Saisissez uniquement le nom d'hôte : exemple.fr ou boutique.exemple.fr. Si vous collez une URL complète, l'outil n'en garde que l'hôte.
  3. Laissez le port sur 443 pour un site web. Changez-le seulement pour d'autres services TLS (voir plus bas).
  4. Cliquez sur Envoyer et lisez Expire le. Les heures sont en UTC.
  5. 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) :

LigneRésultat
StatutCoche verte
Émis le2026-09-23 07:23:13
Expire le2026-12-22 08:21:51
OrganisationGoogle Trust Services
Nom communWE1
PaysÉtats-Unis
Type de signatureecdsa-with-SHA256

Comment le lire :

  • Expire le correspond à la date notAfter du 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 vers https:// avec le vérificateur de redirections, puis cherchez l'en-tête strict-transport-security dans 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.

Corriger un JSON invalide : 10 erreurs courantes

28 Octobre, 2026

Corrigez vite un JSON invalide : comprenez les erreurs Unexpected token et réparez virgules finales, guillemets, commentaires et crochets, p..

Vérifier les enregistrements DNS : A, MX, TXT et CNAME

28 Octobre, 2026

Vérifiez les enregistrements DNS en ligne ou avec dig et nslookup. Rôle des enregistrements A, AAAA, CNAME, MX, TXT, NS et CAA, et problèmes..