CSR
| Fiche express | |
|---|---|
| Domaine | Cryptographie / PKI — requête de certificat |
| Format | PKCS#10 (RFC 2986) |
| Commande | openssl req
|
| Voir aussi | TLS |
Un CSR (Certificate Signing Request) est une demande de certificat numérique envoyée à une Autorité de Certification (CA). Il contient la clé publique du demandeur, ses informations d'identification (Distinguished Name : pays, organisation, nom commun...) et une signature prouvant la possession de la clé privée correspondante — mais jamais la clé privée elle-même, qui ne doit jamais quitter la machine qui l'a générée.
Génération
# 1. Génération de la clé privée (RSA ou ECDSA)
openssl genrsa -out server.key 4096
# ou, plus performant :
openssl ecparam -name secp384r1 -genkey -noout -out server.key
# 2. Création du CSR à partir de la clé privée
openssl req -new -key server.key -out server.csr \
-subj "/C=FR/O=MonOrganisation/CN=exemple.example.com"
# 3. Vérification du contenu avant envoi à la CA
openssl req -text -noout -verify -in server.csr
Le CSR peut aussi porter des extensions comme les SAN (Subject Alternative Names), quasi indispensables aujourd'hui : les navigateurs et la plupart des clients TLS ignorent le Common Name et ne valident que les SAN.
Cycle de vie
- Le client envoie le CSR à la CA.
- La CA vérifie la signature (preuve de possession de la clé privée) et valide l'identité du
demandeur (contrôle variable selon le type de certificat : DV, OV, EV).
- La CA émet un certificat X.509 liant la clé publique du demandeur à son identité, signé avec sa
propre clé privée.
- Le certificat obtenu, avec sa clé privée associée, sert à établir des connexions TLS — voir
TLS pour le déroulé du handshake qui suit.
Durée de vie recommandée aujourd'hui : 1 an maximum (norme CA/Browser Forum), avec renouvellement automatisé (ex. ACME/Let's Encrypt) plutôt que manuel.
Voir aussi
- TLS — utilise le certificat issu du CSR pour authentifier le serveur (et éventuellement le
client, en mTLS) lors du handshake