Skip to content

Certificate Chain Validator

Reference des commandes pour valider et analyser les chaines de certificats SSL/TLS.

Commandes d'analyse

🔍 Recuperer la chaine complete
openssl s_client -connect google.com:443 -showcerts /dev/null
📜 Info certificat
echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -text
📅 Dates de validite
echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -dates
🔗 Verifier la chaine
openssl s_client -connect google.com:443 -verify_return_error &1 | grep -E "Verify|depth"
🖨️ Empreintes (fingerprints)
echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -fingerprint -sha256

Analyse de fichier

Lire certificat PEM
openssl x509 -in cert.pem -text -noout
Lire certificat DER
openssl x509 -in cert.der -inform DER -text -noout
Verifier correspondance cle/cert
# Les hash doivent etre identiques
openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in key.pem | openssl md5
Verifier chaine locale
openssl verify -CAfile ca-bundle.crt cert.pem
Extraire certificats d'un bundle
csplit -f cert- bundle.pem '/-----BEGIN CERTIFICATE-----/' '{*}'

Structure d'une chaine de certificats

🏛️

Root CA

Certificat racine (auto-signe)

Issuer = Subject
🔗

Intermediate CA(s)

Certificat(s) intermediaire(s)

Signe par Root CA
🌐

End-Entity (Leaf)

Certificat du serveur

Signe par Intermediate

Problemes courants

❌ Certificate has expired

Le certificat a depasse sa date de validite

Solution: Renouveler le certificat

❌ Unable to get local issuer certificate

Certificat intermediaire manquant

Solution: Ajouter le(s) certificat(s) intermediaire(s) au bundle

❌ Self-signed certificate in chain

CA non reconnue

Solution: Installer le CA root ou utiliser -CAfile

⚠️ Certificate CN mismatch

Le domaine ne correspond pas au CN/SAN

Solution: Verifier les Subject Alternative Names

⚠️ Chain order incorrect

Les certificats ne sont pas dans le bon ordre

Solution: Leaf → Intermediate(s) → Root

ℹ️ Certificate will expire soon

Expiration proche (< 30 jours)

Solution: Planifier le renouvellement

Extensions X.509 importantes

Extension OID Description
Subject Alternative Name 2.5.29.17 Domaines/IP alternatifs
Basic Constraints 2.5.29.19 CA:TRUE/FALSE
Key Usage 2.5.29.15 Digital Signature, Key Encipherment
Extended Key Usage 2.5.29.37 Server Auth, Client Auth
Authority Key Identifier 2.5.29.35 ID de la cle de l'emetteur
CRL Distribution Points 2.5.29.31 URL de la CRL
OCSP 1.3.6.1.5.5.7.1.1 URL pour validation OCSP