Pack Camo

Décodeur de certificat X.509

Lisez le sujet, l'émetteur, la validité, les SAN et les empreintes de tout certificat PEM ou DER.

Tout s'exécute localement — rien n'est téléversé.

Certificat

2 certificats

…

Voyez exactement ce que dit un certificat

Ce décodeur lit les certificats X.509 — les certificats SSL/TLS de chaque site HTTPS, ainsi que ceux utilisés pour l'authentification client, la signature de code et S/MIME — et affiche leur contenu : sujet et émetteur, dates de validité et jours avant expiration, noms alternatifs du sujet, type et taille de la clé publique, toutes les extensions, et les empreintes SHA-1 et SHA-256. Collez un ou plusieurs blocs PEM, du Base64 brut, ou déposez un fichier .crt, .cer, .der, .pem ou .p7b. Une chaîne complète est décodée certificat par certificat, et chaque signature est vérifiée avec le suivant. L'analyse se fait dans votre navigateur ; rien n'est envoyé.

Comment décoder un certificat

  1. 1Collez le certificat, y compris les lignes -----BEGIN CERTIFICATE----- et -----END CERTIFICATE-----, ou déposez le fichier dans la zone de saisie.
  2. 2Lisez le résumé : à qui il a été délivré, qui l'a délivré, et s'il est valide aujourd'hui.
  3. 3Vérifiez les Subject Alternative Names : les navigateurs comparent le nom d'hôte à cette liste, pas au Common Name.
  4. 4Copiez une empreinte pour la comparer à une autre copie, ou exportez le tout en JSON.

Que contient un certificat X.509 ?

Un certificat lie une clé publique à un nom, et il est signé par un émetteur qui se porte garant de ce lien. Le sujet est le titulaire du certificat et l'émetteur celui qui l'a signé, tous deux écrits sous forme de noms distinctifs comme CN=example.com, O=Example Inc., C=US. La période de validité donne le premier et le dernier instant où l'on peut faire confiance au certificat, et le numéro de série l'identifie de façon unique parmi tout ce que l'émetteur a signé — c'est lui qui figure sur les listes de révocation.

Tout le reste se trouve dans les extensions. Depuis la version 3 du format, que suivent tous les certificats utilisés aujourd'hui, elles portent l'essentiel du sens : quels noms sont couverts, à quoi la clé peut servir, si elle peut signer d'autres certificats, et où vérifier si le certificat a été révoqué.

Les extensions qui comptent

Subject Alternative Name (SAN)
Les noms DNS, adresses IP, e-mails et URI pour lesquels le certificat est valide. Les navigateurs ignorent le Common Name et ne vérifient que cette liste ; un joker comme <code>*.example.com</code> couvre un seul niveau de sous-domaine.
Key Usage et Extended Key Usage
Ce que la clé peut faire : signer, chiffrer des clés, signer des certificats ; et dans quel but, par exemple l'authentification de serveur TLS ou la signature de code.
Basic Constraints
S'il s'agit d'une autorité de certification (<code>CA:TRUE</code>) autorisée à signer d'autres certificats, et combien de niveaux intermédiaires peuvent la suivre (longueur de chemin).
Authority Information Access et CRL Distribution Points
Où télécharger le certificat de l'émetteur, où se trouve son répondeur OCSP et où se trouve sa liste de révocation de certificats.
Certificate Policies
Le niveau de validation appliqué par l'AC : validation de domaine (DV), d'organisation (OV) ou étendue (EV).
Signed Certificate Timestamps
La preuve que le certificat a été inscrit dans des journaux publics Certificate Transparency, exigée par les navigateurs pour les certificats TLS publiquement reconnus.

PEM, DER, CRT et CER

DER est l'encodage binaire d'un certificat (ASN.1 Distinguished Encoding Rules). PEM contient les mêmes octets en Base64 entre des lignes -----BEGIN CERTIFICATE-----, pour pouvoir les coller dans des fichiers texte et des e-mails ; plusieurs blocs PEM dans un fichier forment une chaîne. Les extensions .crt et .cer n'indiquent pas l'encodage utilisé — les deux sont courants — et ce décodeur accepte les deux. Un fichier .p7b est un paquet PKCS#7 contenant plusieurs certificats, et il est également pris en charge.

Pour convertir en ligne de commande, openssl x509 -in cert.der -inform der -out cert.pem transforme du DER en PEM, et openssl x509 -in cert.pem -noout -text affiche à peu près les mêmes informations que cette page.

Chaînes, certificats auto-signés et empreintes

Un serveur doit envoyer son propre certificat suivi des intermédiaires qui mènent à une racine de confiance. Quand vous collez une chaîne ici, la signature de chaque certificat est vérifiée avec la clé publique du suivant, ce qui vous montre d'un coup d'œil si l'ordre est correct et s'il manque un maillon. Un certificat dont le sujet et l'émetteur sont identiques, et dont la signature se vérifie avec sa propre clé, est auto-signé : soit une AC racine, soit un certificat créé pour des tests.

Une empreinte est un hash du certificat entier. Les empreintes SHA-256 sont la façon standard d'épingler ou de comparer des certificats ; les empreintes SHA-1 sont encore affichées par d'anciens outils comme la visionneuse de certificats de Windows. Le hash SPKI SHA-256 ne couvre que la clé publique et reste identique quand un certificat est renouvelé avec la même clé. Pour créer une paire de clés pour un nouveau certificat, utilisez le générateur de paires de clés.

Questions fréquentes

Comment savoir quand un certificat SSL expire ?
Collez le certificat et regardez Validité : la date Pas après est celle de l'expiration, et le badge indique le nombre de jours restants. Pour récupérer le certificat d'un site, ouvrez-le dans la visionneuse de certificats de votre navigateur et exportez-le, ou lancez openssl s_client -connect example.com:443 -showcerts.
Quelle est la différence entre PEM et DER ?
Ils contiennent le même certificat. DER est binaire ; PEM est ce binaire en Base64 avec des lignes BEGIN et END. Cet outil lit les deux.
Pourquoi mon navigateur dit-il que le nom ne correspond pas ?
Le nom d'hôte doit figurer dans l'extension Subject Alternative Name. Les navigateurs ne regardent plus le Common Name, donc un certificat dont le nom n'est que dans le CN est refusé.
Puis-je décoder une chaîne de certificats complète ?
Oui. Collez tous les blocs PEM ensemble, ou déposez un paquet .pem ou .p7b. Chaque certificat est affiché dans l'ordre, et chaque signature est vérifiée avec la clé du certificat suivant.
Que signifie auto-signé ?
Le certificat a été signé avec sa propre clé et non par une AC distincte. Les certificats d'AC racine sont auto-signés par nature ; pour un site web, un certificat auto-signé n'est reconnu que là où il a été installé manuellement.
Peut-il décoder une clé privée ou un CSR ?
Non. Il lit uniquement les certificats, et vous prévient si vous collez une clé privée, une clé publique ou une demande de signature de certificat.
Est-il sûr de coller mon certificat ici ?
Les certificats sont publics — les serveurs les envoient à chaque visiteur — et de toute façon le décodage se fait entièrement dans votre navigateur. Ne collez jamais une clé privée sur un site web.