Analyseur de certificats SSL

Collez un certificat PEM et lisez-le comme un tableau : émetteur, sujet, noms couverts, fenêtre de validité, empreinte — analysé entièrement dans votre navigateur. Une recherche optionnelle sur crt.sh affiche l’historique Certificate Transparency du même domaine. Pour voir ce qu’un serveur présente à l’instant même, utilisez plutôt le vérificateur SSL.

Analyser un certificat

Historique Certificate Transparency (optionnel)

Recherchez sur crt.sh tous les certificats publiquement journalisés jamais émis pour un domaine. C’est de l’histoire, pas une vérification en direct : cela montre ce qui a été émis, y compris des certificats que vous ne reconnaîtrez peut-être pas. Si crt.sh ne peut pas être joint depuis ce navigateur, cette section le dit clairement et l’analyseur ci-dessus n’est pas affecté.

Lire un certificat

Un certificat relie trois choses : une clé publique, une liste de noms et une fenêtre de validité — le tout signé par un émetteur. Le sujet dit à qui le certificat a été émis ; l’émetteur dit quelle autorité l’a signé, et c’est là que vivent les renouvellements quand vous héritez d’une infrastructure. Le numéro de série est l’identifiant unique de l’émetteur pour ce certificat, utile quand une autorité révoque un certificat sans toucher à ses frères. L’algorithme de signature vous dit comment la signature de l’émetteur a été produite ; tout ce qui tourne encore en MD5 ou SHA-1 a largement dépassé sa date de retraite et devrait être remplacé quelle que soit sa date d’expiration.

La fenêtre de validité est la partie assortie d’une échéance, et cette page la convertit en un compte de jours restants avec les mêmes couleurs que le vérificateur en direct : confortable au-delà de quatre-vingt-dix jours, ambre en dessous de quatre-vingt-dix, rouge en dessous de trente, et clairement expiré passé zéro. La liste des noms couverts est ce que les navigateurs vérifient réellement — le nom commun est une décoration héritée, et un nom manquant dans cette liste est la cause la plus fréquente d’un avertissement du navigateur sur un site par ailleurs sain. L’empreinte SHA-256 est un identifiant compact des octets exacts du certificat : deux certificats avec la même empreinte sont le même certificat, ce qui en fait le moyen fiable de comparer ce que vous tenez à ce qu’affirme un journal, un fournisseur ou un collègue.

Analyseur contre vérification en direct contre journal de transparence

Trois questions différentes, trois outils différents, et les confondre crée une vraie confusion. « Que contient ce fichier ? » relève de l’analyseur de cette page — hors ligne, exact, limité au fichier que vous tenez. « Que présente le serveur à l’instant même ? » relève du vérificateur SSL, qui effectue une vraie poignée de main TLS et peut donc être en désaccord avec le fichier : un certificat renouvelé sur disque ne signifie rien tant que le serveur n’a pas été rechargé. « Qu’est-ce qui a jamais été émis pour ce domaine ? » relève de la recherche crt.sh, qui lit les journaux publics de Certificate Transparency et peut faire surgir des émissions oubliées ou non autorisées qu’aucun des deux autres ne montrerait. Servez-vous de l’analyseur pour lire un fichier, du vérificateur pour valider un déploiement, et de la recherche dans les journaux pour auditer l’historique — et quand le vérificateur et le fichier sont en désaccord, croyez le vérificateur. Une quatrième question relève encore d’un autre outil : si plusieurs fichiers vont ensemble — quelle clé privée correspond à ce certificat, et dans quel ordre la chaîne doit être présentée — c’est l’appariement de certificats et de clés, qui regroupe certificats, clés et CSR par leur clé publique partagée.

L’analyse des certificats utilise node-forge, sous licence BSD-3-Clause. Les recherches en ligne envoient le domaine que vous saisissez à crt.sh ; l’analyseur PEM lui-même ne fait aucune requête réseau.

Questions fréquentes

En quoi est-ce différent du vérificateur SSL ?

Le vérificateur SSL effectue une poignée de main TLS en direct contre un serveur et rapporte le certificat que le serveur présente réellement à l’instant même. Cette page analyse le texte de certificat que vous collez — utile quand vous avez un fichier de certificat, un flux CSR, ou un certificat venant d’un système que vous ne pouvez pas atteindre d’ici. Si vous pouvez atteindre le site, utilisez le vérificateur SSL ; si vous n’avez que le fichier, utilisez cette page.

Qu’apporte crt.sh ?

crt.sh recherche dans les journaux publics de Certificate Transparency : tous les certificats de confiance publique jamais émis pour un domaine, avec émetteur et dates de validité. Il répond à « qu’est-ce qui a été émis » — y compris des certificats auxquels vous ne vous attendiez pas. Il ne peut pas vous dire ce qu’un serveur présente aujourd’hui ; seule une poignée de main en direct le peut.

Pourquoi la recherche crt.sh peut-elle échouer ?

crt.sh est un service tiers gratuit, et la possibilité pour un navigateur de lire ses réponses dépend de ses en-têtes cross-origin. Si elle échoue ici, la page le dit clairement et l’analyseur PEM ci-dessus continue de fonctionner — la recherche en ligne est un enrichissement, pas l’outil.

Que me disent les SAN que le nom commun ne dit pas ?

Les navigateurs modernes ignorent le nom commun et vérifient à la place la liste des noms alternatifs du sujet. Un certificat est valide exactement pour les noms de cette liste : le domaine nu sans www, ou un sous-domaine oublié, est la cause la plus fréquente d’un avertissement du navigateur sur un site par ailleurs sain.

Coller un certificat fait-il fuiter quelque chose ?

Un certificat est un document public par conception — il ne contient aucune clé privée et rien de secret. La clé privée est un fichier séparé et ne doit jamais être collée nulle part. L’analyse ici se fait de toute façon entièrement dans votre navigateur.