Structure d'un certificat X.509
Portail > Le certificat X.509
Le certificat X.509 est le format normalisé (UIT-T X.509, RFC 5280) qui associe une identité à une clé publique, le tout signé par une autorité de certification. Cette page décrit sa structure interne ; les extensions, plus nombreuses, font l'objet d'une page dédiée : Extensions X.509.
Vue d'ensemble
Un certificat X.509 v3 se compose de trois blocs :
- le TBSCertificate (To Be Signed) : tous les champs d'identité et techniques ;
- l'algorithme de signature utilisé par l'autorité ;
- la valeur de la signature produite sur le TBSCertificate (voir Signatures numériques et fonctions de hachage).
<mermaid> flowchart TB
subgraph CERT[Certificat X.509]
TBS["TBSCertificate
(version, série, émetteur,
validité, sujet, clé publique, extensions)"]
ALG[signatureAlgorithm]
SIG[signatureValue]
end
TBS -.hachée puis signée par la CA.-> SIG
</mermaid>
(Schéma en Mermaid.)
Les champs du TBSCertificate
| Champ | Rôle |
|---|---|
| version | Version du format. v3 (valeur 2) est le standard actuel ; seule v3 autorise les extensions. |
| serialNumber | Numéro de série, entier unique attribué par l'autorité émettrice. Sert d'identifiant (notamment pour la révocation). |
| signature | Identifiant de l'algorithme de signature prévu (doit correspondre au champ signatureAlgorithm externe).
|
| issuer | Distinguished Name (DN) de l'autorité émettrice : qui a signé ce certificat. |
| validity | Période de validité : notBefore et notAfter (dates UTC).
|
| subject | DN du titulaire du certificat : à qui appartient la clé publique. |
| subjectPublicKeyInfo | La clé publique du sujet + l'algorithme associé (RSA, EC…). |
| issuerUniqueID / subjectUniqueID | Identifiants uniques optionnels (v2/v3), rarement utilisés en pratique. |
| extensions | Liste d'extensions v3 (Basic Constraints, Key Usage, SAN…). Voir Extensions X.509. |
Le lien issuer / subject
Les champs issuer et subject sont la clé de la construction de la chaîne :
- Pour un certificat donné, son
issuerdoit correspondre ausubjectdu certificat de l'autorité qui l'a signé. - Un certificat auto-signé (cas d'un certificat racine) a
issuer == subject.
C'est en remontant ces correspondances que l'on reconstitue le chemin de certification jusqu'à la racine.
Le Distinguished Name (DN)
Un DN est une suite d'attributs hiérarchiques identifiant une entité. Attributs courants :
| Sigle | Attribut | Exemple |
|---|---|---|
| CN | Common Name | CN=clipsy.tech
|
| O | Organisation | O=Nexiat
|
| OU | Unité organisationnelle | OU=Infrastructure
|
| C | Pays | C=FR
|
| L / ST | Localité / région | L=Toulouse
|
Note : pour un certificat serveur TLS, le nom d'hôte de confiance est aujourd'hui porté par l'extension SAN (Subject Alternative Name) et non par le CN, ce dernier étant ignoré par les navigateurs modernes. Voir Extensions X.509.
subjectPublicKeyInfo
Ce champ contient la clé publique du sujet, accompagnée de l'identifiant de son algorithme :
- RSA : modulus + exposant public ;
- EC : point sur la courbe + identifiant de la courbe (P-256, P-384…).
C'est cette clé que les autres parties utiliseront pour chiffrer à destination du sujet ou pour vérifier ses propres signatures.
Inspecter un certificat
# Afficher un certificat PEM en clair openssl x509 -in cert.pem -noout -text # Extraire des champs précis openssl x509 -in cert.pem -noout -subject -issuer -serial -dates # Empreinte SHA-256 (identifiant, ≠ signature) openssl x509 -in cert.pem -noout -fingerprint -sha256
Points clés à retenir
- Un certificat = TBSCertificate + algorithme + signature.
issuerd'un certificat =subjectde son signataire ; racine ⇒issuer == subject(auto-signé).- La validité repose sur
notBefore/notAfter: une chaîne casse si un seul maillon est expiré. - Le nom d'hôte TLS vit dans le SAN, plus dans le CN.
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 |