Extensions X.509

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche

Portail > Le certificat X.509

Les extensions (disponibles depuis X.509 v3) portent l'essentiel de la sémantique d'un certificat : à quoi il sert, qui l'a signé, comment le révoquer, quels noms il couvre. Plusieurs d'entre elles sont indispensables à la validation de la chaîne.

Le drapeau « critique »

Chaque extension porte un indicateur critical (vrai/faux) :

  • critique : un logiciel qui ne sait pas interpréter l'extension doit rejeter le certificat ;
  • non critique : une extension inconnue peut être ignorée sans rejet.

Ce mécanisme garantit qu'on ne contourne pas une contrainte de sécurité simplement parce qu'on ne la comprend pas.

Extensions structurantes pour la chaîne

Basic Constraints

Détermine si le certificat est celui d'une autorité :

  • CA:TRUE → le certificat peut signer d'autres certificats (CA) ;
  • CA:FALSE → certificat « feuille », ne peut rien signer ;
  • pathlen:N → nombre maximal de CA intermédiaires autorisées sous celle-ci (voir Contraintes de chemin).

Extension critique sur les CA. C'est elle qui empêche un certificat feuille d'usurper le rôle d'autorité.

Key Usage

Restreint les usages cryptographiques de la clé :

Bit Usage
digitalSignature Signature (TLS, etc.)
keyEncipherment Chiffrement de clé (échange RSA)
keyAgreement Accord de clé (ECDH)
keyCertSign Signer des certificats — propre aux CA
cRLSign Signer des CRL — propre aux CA

Une CA doit porter keyCertSign ; son absence invalide la signature des certificats fils.

Extended Key Usage (EKU)

Précise les usages applicatifs :

  • serverAuth — authentification serveur TLS ;
  • clientAuth — authentification client (mTLS) ;
  • codeSigning, emailProtection, OCSPSigning, timeStamping

Les chaînes sont souvent validées en tenant compte de l'EKU (EKU chaining) : un certificat serveur dont la chaîne ne permet pas serverAuth est rejeté.

Extensions d'identité

Subject Alternative Name (SAN)

Liste les identités couvertes : noms DNS, adresses IP, URI, e-mails. C'est le SAN (et non le CN) qui est vérifié par les clients TLS modernes. Un certificat peut couvrir plusieurs noms (DNS:clipsy.tech, DNS:www.clipsy.tech).

Extensions de liaison et de localisation

Subject Key Identifier (SKI)

Empreinte de la clé publique du sujet. Identifie la clé de façon stable.

Authority Key Identifier (AKI)

Référence la clé de l'autorité émettrice (généralement le SKI du certificat parent). Le couple AKI ↔ SKI accélère et fiabilise la construction du chemin : on relie un certificat à son parent par identifiant de clé, sans dépendre uniquement du DN.

Authority Information Access (AIA)

Fournit des URL utiles :

  • CA Issuers : où télécharger le certificat de l'autorité émettrice (permet de compléter une chaîne incomplète) ;
  • OCSP : répondeur pour vérifier la révocation en temps réel.

CRL Distribution Points (CDP)

Indique l'URL de la ou des listes de révocation (CRL) couvrant ce certificat.

Certificate Policies

Identifie (par OID) la politique de certification appliquée — niveau de validation, conditions d'émission.

Inspecter les extensions

openssl x509 -in cert.pem -noout -text | sed -n '/X509v3 extensions/,$p'

Points clés à retenir

  • Basic Constraints (CA:TRUE/FALSE) + Key Usage (keyCertSign) définissent qui est une autorité : ce sont les garde-fous anti-usurpation.
  • L'identité TLS est dans le SAN.
  • AKI/SKI relient un certificat à son parent ; AIA permet de retrouver les intermédiaires manquants.
  • Le drapeau critique force le rejet quand une contrainte n'est pas comprise.

Voir aussi

Chaînes de certificats — Portail
Fondamentaux Cryptographie asymétrique · Signatures et hachage
Certificat X.509 Structure X.509 · Extensions X.509 · Formats et encodage
PKI et autorités PKI · Autorités de certification · Ancres de confiance
Chaîne Principe · Construction du chemin · Validation · Contraintes de chemin
Cycle de vie CSR et émission · Cycle de vie · Révocation
Avancé Cross-signing · Dépannage