Un CSR (Certificate Signing Request) est un bloc de donnees encodees que vous envoyez a une Autorite de Certification (CA) pour demander un certificat SSL. Il contient votre cle publique et les informations de domaine. La CA utilise ces donnees pour creer votre certificat.
Ce que contient un CSR
| Champ | Exemple | Obligatoire ? |
|---|---|---|
| Common Name (CN) | example.com | Oui |
| Cle publique | Votre cle publique RSA ou ECDSA | Oui |
| Algorithme de cle | ECDSA P-256 ou RSA 2048 | Oui |
| Organisation | Votre Societe SARL | Optionnel pour DV |
| Pays | FR | Optionnel pour DV |
| SANs | www.example.com, api.example.com | Pour multi-domaine |
Pour les certificats DV (comme Let’s Encrypt), seuls le(s) nom(s) de domaine et la cle publique comptent. Les champs organisationnels sont ignores.
Comment fonctionne la generation d’un CSR
- Generer une paire de cles — une cle privee et une cle publique
- Construire le CSR — encoder la cle publique + les informations de domaine dans un format standardise (PKCS#10)
- Signer le CSR — le signer avec la cle privee (prouve que vous possedez la cle privee correspondante)
- Envoyer a la CA — la CA verifie votre propriete du domaine, puis utilise le CSR pour creer votre certificat
La cle privee ne quitte jamais votre systeme. Le CSR contient uniquement la cle publique.
GetHTTPS gere le CSR automatiquement
Avec les outils traditionnels, vous genereriez manuellement un CSR avec OpenSSL :
# La methode manuelle (pas necessaire avec GetHTTPS)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=example.com"
Avec GetHTTPS, vous ne voyez ni ne touchez jamais le CSR. L’outil :
- Genere la paire de cles dans votre navigateur (Web Crypto API)
- Construit le CSR automatiquement a partir de votre saisie de domaine
- L’envoie a Let’s Encrypt dans le cadre du flux ACME
- Vous donne le certificat signe a telecharger
Le CSR est une etape interne — vous entrez simplement votre domaine et obtenez un certificat.
Generer un CSR manuellement (quand c’est necessaire)
Si vous avez besoin d’un CSR autonome (pour une CA commerciale ou une plateforme qui necessite un telechargement), voici comment :
ECDSA P-256 (recommande)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=example.com"
RSA 2048
openssl req -new -newkey rsa:2048 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=example.com"
Avec plusieurs domaines (SAN)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=example.com" \
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"
Verifier un CSR
openssl req -in csr.pem -noout -text
Cela affiche le(s) nom(s) de domaine, l’algorithme de cle et la taille de cle integres dans le CSR.
Le CSR dans le protocole ACME
Dans le protocole ACME (utilise par Let’s Encrypt), le CSR est envoye lors de l’etape de finalisation — apres la reussite de la validation du domaine. La CA utilise la cle publique du CSR pour construire votre certificat. Le format du CSR est PKCS#10, encode en base64url dans le message JSON ACME.
Avec GetHTTPS, tout ce processus se deroule en JavaScript en utilisant la Web Crypto API et la bibliotheque pkijs. Vous ne voyez jamais les octets bruts du CSR.
Questions frequemment posees
Dois-je conserver le fichier CSR ?
Non. Le CSR n’est utilise que pendant la demande de certificat. Une fois que la CA a emis votre certificat, le CSR ne sert plus a rien. Conservez votre cle privee et votre certificat — vous pouvez supprimer le CSR.
Puis-je reutiliser un CSR pour le renouvellement ?
Techniquement oui, mais il est preferable de generer une nouvelle paire de cles et un nouveau CSR pour chaque renouvellement. Cela suit le principe de rotation des cles et limite l’exposition en cas de compromission d’une cle.
Quelle est la difference entre un CSR et un certificat ?
Un CSR est une demande — il contient votre cle publique et demande a la CA de la signer. Un certificat est le resultat — c’est la declaration signee de la CA attestant que votre cle publique appartient a votre domaine. Le CSR est l’entree ; le certificat est la sortie.
Puis-je generer un CSR pour un domaine wildcard ?
Oui. Utilisez *.example.com comme Common Name :
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=*.example.com"
Avec GetHTTPS, vous n’avez pas besoin de generer un CSR manuellement — entrez *.example.com comme domaine et GetHTTPS gere le CSR automatiquement.
Que signifie « key usage » dans un CSR ?
Les extensions de key usage specifient a quoi le certificat peut servir — generalement « Digital Signature » et « Key Encipherment » pour les certificats TLS. GetHTTPS et la plupart des clients ACME les definissent correctement par defaut. Vous n’avez besoin de vous preoccuper du key usage que si vous generez des CSR manuellement pour une CA commerciale ayant des exigences specifiques.