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 |