Analyseur de certificats

Les certificats X.509 sont le format standard pour les certificats à clé publique utilisés dans TLS/SSL. Cet outil analyse les certificats encodés en PEM pour afficher le sujet, l'émetteur, la période de validité, les détails de la clé publique et les extensions. Essentiel pour déboguer les problèmes de connexion HTTPS.

Specifications

Cas d'utilisation courants

  • Déboguer les erreurs de connexion SSL/TLS ("le certificat a expiré")
  • Vérifier que le certificat couvre les bons noms de domaine
  • Vérifier les dates d'expiration des certificats pour planifier le renouvellement
  • Inspecter les certificats intermédiaires et racines dans une chaîne
  • Vérifier que les attributs du certificat respectent les exigences de conformité

Fonctionnalites

  • Analyser les certificats encodés en PEM (-----BEGIN CERTIFICATE-----)
  • Afficher les noms distingués du sujet et de l'émetteur
  • Afficher la période de validité (Pas avant / Pas après)
  • Extraire l'algorithme et la taille de la clé publique
  • Afficher les noms alternatifs du sujet (SAN)
  • Afficher les extensions du certificat (Utilisation de la clé, Utilisation étendue de la clé, Contraintes de base)
  • Affichage des identifiants de clé d'autorité/sujet
  • Points de distribution CRL et URL d'accès aux informations de l'autorité

Exemples

Certificat auto-signé

Essayer →

Un certificat X.509 pour example.com avec des noms alternatifs du sujet.

-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIUb7VAvx3CADEDexgoNd41E9Y5tZowDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcM
DVNhbiBGcmFuY2lzY28xFDASBgNVBAoMC0V4YW1wbGUgSW5jMRQwEgYDVQQLDAtF
bmdpbmVlcmluZzEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjYwMTI1MDQ0ODMw
WhcNMjcwMTI1MDQ0ODMwWjB8MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZv
cm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEUMBIGA1UECgwLRXhhbXBsZSBJ
bmMxFDASBgNVBAsMC0VuZ2luZWVyaW5nMRQwEgYDVQQDDAtleGFtcGxlLmNvbTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALKN/rhprC1rfrwKpj9ZqwRR
4c51daZRMlij1NbmUJn7KiZTghxu1OtOEodGmpcF3xuWxiBYTOKvQZ+qPpED6IAG
IYtANPetAkRbsf/xdZZZ/BRR3jQQ2AVDfyuBSYjYEV4JMVG47JCj7oewgNb0dejv
HI18aBWzIGE6v9Zv5FDt+d3GjJignI8elrGzrnJg85qsd743xSEPALqf1NsyhjtY
Th91DazAOoPzA/DMXzoXUhAf9C5uWQlSdn6JDzs8/ld0c+LZH9ohvC/IN/PfdkYg
NYR2AJutUdxbOPPmcFm46o/WpquV2H0mIMuvdzI+k/tk6wVV2jwu2ysQLwweqecC
AwEAAaOBjjCBizAdBgNVHQ4EFgQU9Th/a8eJZ9DHh5uUGyf+iTSNF14wHwYDVR0j
BBgwFoAU9Th/a8eJZ9DHh5uUGyf+iTSNF14wDwYDVR0TAQH/BAUwAwEB/zA4BgNV
HREEMTAvggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tgg9hcGkuZXhhbXBs
ZS5jb20wDQYJKoZIhvcNAQELBQADggEBAE1rGDKmhMBkcdwZva/9CouLeLOIHBiI
uPH1LV6Pbl2KJ11w1L36SstF17+M3Sn0SJxstCePJWlfLlx6r5JZSyNAQghmgep1
/YWrsDtC3bjs4stOz1FWUgUDs+b7pf+h93lLTShX8mue2rjIXbYJPJx9XsCmyx1R
zLuYSoOSQ/0aR7NSzjqgoHEUNI/2mGTRJ6ngC0vx88ppn+tuk8PyAXt8kp8hPx3I
6lmmyzfuwt0JZIawW2p1nkMlGt2IBIxBBY7vjAHCTDRa69YP08QeImDM13FelUVh
tXPOCJaWXZQmppgKNtmpedswRRtOyl83cqzkz4rZRpjnpPqIEWNQ9bs=
-----END CERTIFICATE-----

Clé privée

Essayer →

Une clé privée RSA correspondante au format PKCS#8.

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCyjf64aawta368
CqY/WasEUeHOdXWmUTJYo9TW5lCZ+yomU4IcbtTrThKHRpqXBd8blsYgWEzir0Gf
qj6RA+iABiGLQDT3rQJEW7H/8XWWWfwUUd40ENgFQ38rgUmI2BFeCTFRuOyQo+6H
sIDW9HXo7xyNfGgVsyBhOr/Wb+RQ7fndxoyYoJyPHpaxs65yYPOarHe+N8UhDwC6
n9TbMoY7WE4fdQ2swDqD8wPwzF86F1IQH/QublkJUnZ+iQ87PP5XdHPi2R/aIbwv
yDfz33ZGIDWEdgCbrVHcWzjz5nBZuOqP1qarldh9JiDLr3cyPpP7ZOsFVdo8Ltsr
EC8MHqnnAgMBAAECggEAANyt1b1JqlASJPcQMmiABBDsVcJvacW+lOFfNHv/XtIk
AMD3QdfiVnh8BZ2SC+Sbw4nvNVZeMkH4v4j84FcnSjO9YB5Ub+9GSyCXzWdT0zQA
AyeAbe2FSkRqWsI3CETl+iqlMekCPpIfPRYQqSw1w+tTm5APZWHSzpiQA7ydwSsP
sJ1QBq64eXSXFhpyLG0LE4ATeyH9dxj9n9NocL0QOqT+Tl5Dcjlxc7fYmoHStC0q
9Xb5h1Po3kmESAELdUobBbJvJFVK98PMB6osUR4VM4snQJOJZ+4Df7bxU311OgLB
Am/mQjsnyZqBWjDQaUj/BGnapJxqB+a102Ki3XMX4QKBgQDcmUc0c+zfRfnic22Q
ytJ3Y29N1C52GESFulL+cYfwwfVK/VXWT1b/eECABVWZvzP22wyEnkodkYWSoN86
GK2PvH8ii9EpkkCtRabFqmbfqPysTKawu9/BgrVAvEvRQjHHAUZnytwtw+IcL6Nz
EjQ4UrFK+3/rycT05I/ToHRgGQKBgQDPNXI0OSJ1nl7YQOry4C4ekT/uCJAbV7bN
MU49iSMqldlXy+VvSKAwErzvaAtQUolvu3DPw2hcpMxuH+hoHweTA0lu0VbZRKvS
1EhMWQGN2qrSQYcnhvKY/BUbd7KjZ858PeOBcTgyCfBkfdBNgughjsCv2BxKGxQI
Li2gSWSZ/wKBgF0M2pgpffUAE1ON1N2KcBSkAMMXiTGPMvgli/R/9xN6/PjQu3BW
rx+7nZlipqTfng+2fiVCj4jBZVJgQUjEOBG1NPthdqzOYDG2e45NPm+BXHNhMb7C
wLNjawkPY/u0rEKBKy2EyDMVuT6iaZOUTiqj1t0GEQNobIfQEUr3F5+hAoGAZuD3
afxwIovWNXLN9HbgDyc44Zt4yUqcpXZ0jVL4ld0+wzumF8GsXxH+orM64s+IE2Sy
V0WDHHRqV8cZ4hB99z0riY0AnPFeilgB6X5Lqj3GkIweab6z1sdaR3//vuf8em1T
9uHa7+VFaO+aq9FyJa819ljLevPE12buGmY2P8sCgYEAoSk3KwiEO9zvxuuwqdBh
Qv/dvWPgh/KttWcoL6Axt1z4gG+vdidn8xIdVGy6xnQOYpm+ANqRpWO82Hws5ITy
8uDn/S2kjQnyh8Cz7jJLBiJUxz/ZWfUz56cQq3Bej46oJN6UKkhJ9ogAjUJAYjV1
7JIWxv6OC7Cg6xfHCGRa7F0=
-----END PRIVATE KEY-----

Conseils

  • Exporter un certificat depuis le navigateur : cliquez sur le cadenas > Certificat > Détails > Exporter.
  • Obtenir le certificat d'un site avec : openssl s_client -connect example.com:443
  • Les SAN (Subject Alternative Names) listent tous les noms de domaine valides.
  • Les certificats racines sont auto-signés (émetteur = sujet).
  • Vérifier la chaîne de certificats avec : openssl verify -CAfile ca.pem cert.pem

Comprendre Analyseur de certificats

Les certificats X.509 sont le fondement de la confiance sur Internet, permettant le chiffrement TLS/SSL pour les connexions HTTPS, la signature de code, la sécurité des e-mails (S/MIME) et l'authentification VPN. Un certificat lie une clé publique à une identité (nom de domaine, organisation ou individu), et une Autorité de Certification (AC) se porte garante de cette liaison en signant numériquement le certificat.

Les certificats sont généralement stockés au format PEM — données DER encodées en Base64 encadrées par les marqueurs -----BEGIN CERTIFICATE----- et -----END CERTIFICATE-----. Un certificat contient le sujet (qui le certificat identifie), l'émetteur (qui l'a signé), une période de validité (dates Pas avant et Pas après), la clé publique du sujet et des extensions qui contrôlent l'utilisation. L'extension Subject Alternative Name (SAN) liste tous les noms de domaine couverts par le certificat.

Les chaînes de certificats établissent la confiance en liant un certificat d'entité finale à une AC racine de confiance via une ou plusieurs AC intermédiaires. Quand un navigateur se connecte à un site web, il vérifie la chaîne : le certificat du serveur a été signé par une AC intermédiaire, qui a été signée par une AC racine que le navigateur considère comme fiable. Une chaîne brisée — certificats intermédiaires manquants ou racine inconnue — provoque la fameuse erreur "Votre connexion n'est pas privée".

La gestion des certificats est une source courante de pannes. Les certificats expirés causent une interruption de service immédiate. Les noms de domaine non correspondants déclenchent des avertissements du navigateur. Les certificats intermédiaires manquants fonctionnent dans certains navigateurs (qui peuvent les mettre en cache ou les récupérer) mais échouent dans d'autres et dans les clients API. La surveillance de l'expiration des certificats et l'automatisation du renouvellement avec des outils comme Let's Encrypt et certbot sont essentiels pour des opérations fiables.

Pour vérifier quand un certificat expire, collez le contenu PEM dans cet outil et regardez la date Pas après. En ligne de commande, exécutez openssl x509 -enddate -noout -in cert.pem pour un fichier local, ou openssl s_client -connect example.com:443 redirigé vers openssl x509 -noout -enddate pour un serveur distant. La surveillance automatisée via certbot, cert-manager ou des services de surveillance dédiés peut alerter bien avant l'expiration pour éviter les pannes.

Les certificats racines sont auto-signés (l'émetteur est égal au sujet) et sont préinstallés dans les navigateurs et systèmes d'exploitation comme ancres de confiance. Les certificats intermédiaires sont signés par une AC racine et servent à signer les certificats d'entité finale. Cette chaîne de confiance protège la clé racine — si un intermédiaire est compromis, seul cet intermédiaire est révoqué plutôt que la racine. Les serveurs doivent envoyer la chaîne complète (entité finale plus tous les intermédiaires) mais ne doivent pas inclure le certificat racine lui-même.

Les Subject Alternative Names (SAN) listent tous les noms de domaine et adresses IP pour lesquels un certificat est valide. Un seul certificat peut protéger plusieurs domaines comme example.com, www.example.com et api.example.com en utilisant les SAN. Les navigateurs modernes utilisent les SAN au lieu du champ Common Name (CN) pour la validation de domaine. Les certificats wildcard (*.example.com) couvrent un niveau de sous-domaines mais pas le domaine apex lui-même.

Un certificat qui fonctionne dans les navigateurs mais échoue dans les clients API est un problème courant causé par des chaînes de certificats incomplètes. Les navigateurs sont plus tolérants — certains récupèrent automatiquement les intermédiaires manquants via la récupération AIA (Authority Information Access) ou utilisent des intermédiaires précédemment mis en cache. Les clients API comme curl, Node.js et la bibliothèque requests de Python exigent généralement que la chaîne complète soit envoyée par le serveur. Assurez-vous que votre serveur est configuré pour envoyer le certificat d'entité finale plus tous les certificats intermédiaires, et testez avec curl -v ou openssl s_client pour vérifier que la chaîne est complète.

← Retour a tous les outils