SSL Certificate Checker

Lis le certificate TLS en direct qu'un host sert : expiry, issuer, subject, couverture SAN et tes hostnames attendus.

Ce SSL certificate checker lit le certificate TLS qu'un host sert réellement sur le port 443 en ce moment, pas ce que ton panneau d'admin prétend installé. Tu entres un hostname et il récupère la fenêtre de validité, les jours restants avant l'expiry, les champs issuer et subject, et les Subject Alternative Names que le certificate couvre vraiment, puis il les confronte aux hostnames que tu attends pour qu'un apex couvert avec un www non couvert ne passe jamais inaperçu. Il ajoute une lecture légère du contexte HTTPS, pour voir si le host répond et si HSTS est apparu. Lance-le juste après un changement d'hébergeur, une modif DNS, un reverse proxy ou un CDN qui s'allume.

Les requêtes passent par le service de lookup PeopleAreGeek. Nous ne journalisons rien.

À quoi sert ce SSL certificate checker

Ton panneau de contrôle peut jurer ses grands dieux qu'un certificate existe. Le navigateur, lui, s'en fiche. Il ne regarde que ce qui est réellement servi pour le nom exact que quelqu'un a tapé. Du coup un check live gagne sa place juste après les moments un peu chaotiques : un changement d'hébergeur, une modif DNS, un reverse proxy qui passe en prod, un CDN qui s'allume, un nouveau sous-domaine, un auto-renewal qui s'est peut-être déclenché ou pas. Le piège, c'est qu'une couche a l'air nickel pendant que celle d'en dessous sert encore un certificate périmé ou faux.

Ce que tu obtiens ici, c'est ce qui décide vraiment de ton prochain geste. La fenêtre de validité. Les jours restants. L'issuer, le subject, les noms SAN, et si les hostnames que tu attends sont réellement couverts. Il y a aussi un petit check de contexte HTTPS, histoire de savoir si le host répond seulement et si HSTS est apparu sur cette réponse échantillonnée. Pour le boulot profond sur le protocole TLS, la chain et les ciphers, lance un scanner externe dédié en deuxième passe. Je ne m'appuierais pas là-dessus pour ça.

Comment lire le résultat

  • Days remaining, c'est ta marge. Combien de temps avant que ce truc expire et que quelqu'un se fasse réveiller en pleine nuit.
  • Valid from et valid to sont la fenêtre que le serveur a renvoyée, début et fin.
  • Issuer, c'est la certificate authority, ou le label de chaîne d'émission que le cert parsé expose.
  • Subject porte des champs d'identité, mais voilà le truc : le matching de hostname moderne l'ignore largement et s'appuie sur les noms SAN à la place.
  • SAN coverage montre quels hostnames le cert dit couvrir. Wildcards inclus, quand il y en a.

Le hostname coverage, là où se cachent pas mal d'erreurs SSL

Un cert peut être totalement valide et complètement faux pour le nom qu'un visiteur a ouvert. Ça arrive tout le temps. Le domaine apex est couvert mais pas www. Un sous-domaine flambant neuf pointe vers la bonne machine mais sert un cert qui n'a jamais été émis que pour l'ancien site. Et les wildcards trompent leur monde : un wildcard peut couvrir un seul label comme app.example.com tout en ne faisant rien pour un nom plus profond comme api.app.example.com. Vérifier les noms que tu attends avant de basculer te coûte une minute. Courir après les alertes navigateur ensuite, avec les utilisateurs qui regardent, coûte bien plus cher.

Timing du renewal et habitudes opérationnelles

N'attends pas le dernier jour. S'il te plaît. Pour tout ce qui compte en prod, les sites, les API, les domaines d'admin, donne-toi une marge de 30 jours. Cette fenêtre, c'est ce qui rattrape les trucs qui cassent en silence : une validation DNS qui ne passe pas, un CDN qui échange son cert d'edge dans ton dos, un compte auquel plus personne ne peut se connecter, une automation morte il y a trois mois sans que personne s'en rende compte. Et quand un cert approche de la fin, pose les questions barbantes. Qui possède vraiment le renewal ? L'auto-renew est-il seulement activé ? Quel challenge utilise-t-il ? Si tout ça s'écroule, y a-t-il un fallback manuel, ou on improvise ?

Checks SSL courants après un changement

  • Re-teste le hostname exact une fois le DNS propagé. Le domaine racine seul ne suffit pas.
  • Re-teste après avoir allumé un CDN ou l'avoir contourné. Le cert d'edge et le cert d'origin ne correspondent pas toujours.
  • Si l'apex et www restent publics tous les deux, teste les deux. On oublie toujours celui qu'on n'utilise pas.
  • Une fois le HTTPS stable, regarde les headers HTTP pour que HSTS et les redirections soient un choix, pas un accident.
  • Et garde la surveillance d'expiry dans son propre couloir, séparée du debug ponctuel que tu fais aujourd'hui.

Questions fréquentes

Un certificate valide veut-il dire que le HTTPS est totalement sécurisé ?

Non, et ça vaut le coup d'être clair là-dessus. Un cert valide prouve une pièce importante du chemin TLS, le bout chiffrement et identité. Tout le reste reste sur tes épaules. Bugs applicatifs, auth faible, mixed content qui charge en HTTP clair, security headers manquants, une config serveur bâclée. Le cadenas est un point de départ, pas une ligne d'arrivée.

Pourquoi le subject diffère-t-il du hostname ?

Parce que de nos jours, le subject n'est généralement plus là où vivent les noms. Les certs modernes s'appuient sur les Subject Alternative Names pour le hostname coverage, et le common name dans le subject est presque un reliquat. Alors lis la table de coverage. Ne suppose pas que le subject CN te raconte toute l'histoire, parce que d'habitude non.

Ce checker peut-il inspecter les certificate chains et les versions TLS ?

Pas pour l'instant, non. L'endpoint live récupère le résumé du certificate servi plus le contexte HTTPS, ce qui suffit pour agir vite et attraper l'évident. Quand tu as vraiment besoin de la chain complète ou des versions de protocole exactes, prends un scanner TLS dédié. Pas le même boulot.

Que vérifie ce certificate checker ?

Il lit le certificate que ton serveur renvoie réellement. Tu vois l'issuer, les dates de validité, quels hostnames sont couverts, et combien de jours restent avant l'expiry. De vraies données servies, pas ce qu'un dashboard prétend quelque part en amont.

Pourquoi mon certificate s'affiche comme untrusted ?

Neuf fois sur dix, c'est un intermediate certificate manquant dans la chain. Le serveur a oublié de l'envoyer. Ensuite, les suspects habituels sont un cert self-signed, un déjà expiré, ou un simple mismatch de nom où le cert ne liste pas le host que tu as demandé. Regarde la chain en premier, franchement. C'est là que ça se cache d'habitude.