La création d’un CSR (Certificate Signing Request) avec OpenSSL est une étape cruciale pour sécuriser vos sites web et applications via des certificats SSL. En 2026, maîtriser cette procédure garantit non seulement la confidentialité des échanges mais aussi l’intégrité des données. Au-delà de la simple génération d’une clé privée et publique, OpenSSL permet d’intégrer des noms alternatifs (SAN) et de personnaliser la demande avec un fichier de configuration, pour s’adapter à toutes les exigences des autorités de certification.
L’article en bref
Découvrez comment créer un CSR avec OpenSSL en intégrant clés, SAN et configurations personnalisées pour une sécurité renforcée.
- Génération sécurisée : Création de clés privées et demandes CSR fiables sous Linux
- Gestion des noms alternatifs : Intégrer les SAN pour des certificats polyvalents
- Personnalisation avancée : Utilisation de fichiers openssl.cnf pour configurer le CSR
- Validation essentielle : Vérifier la cohérence entre clé, CSR et certificat final
Maîtriser la génération d’un CSR avec OpenSSL transforme la sécurité de vos systèmes et simplifie la gestion des certificats SSL.
Pourquoi générer un CSR avec OpenSSL est essentiel pour votre sécurité SSL en 2026
Pour garantir une connexion HTTPS fiable, chaque site nécessite un certificat SSL signé par une autorité de certification. Le CSR est le pont entre votre serveur et cette autorité, renfermant la clé publique et les informations indispensables à la demande. OpenSSL, disponible sur la plupart des distributions Linux, reste un outil incontournable pour générer cette requête de manière sécurisée. Il permet de produire simultanément une clé privée, jamais partagée, et un fichier CSR contenant les données publiques à transmettre pour signature.
Le rôle clé de la clé privée et de la clé publique dans votre demande de certificat
Au cœur du procédé, la clé privée doit être sécurisée sur le serveur tandis que la clé publique, intégrée dans le CSR, circule vers l’autorité de certification. Cette paire de clés asymétriques garantit la confidentialité et l’authenticité des échanges. La signature réalisée via la clé privée donne confiance à l’entité qui délivre le certificat, attestant que la demande provient bien de l’administrateur légitime.
Incorporer les noms alternatifs (SAN) grâce au fichier de configuration openssl.cnf
Les noms alternatifs, ou SAN (Subject Alternative Names), permettent de sécuriser plusieurs domaines et sous-domaines avec un seul certificat SSL. Cette fonctionnalité est devenue incontournable en 2026, notamment pour les infrastructures complexes et les applications multisites. Or, OpenSSL ne gère pas nativement l’ajout de SAN lors de la génération du CSR sans paramétrage spécifique.
Pour cela, on personnalise un fichier de configuration, généralement nommé openssl.cnf, dans lequel on définit la section SAN. Lors de la création de la demande, cette configuration est indiquée grâce à l’option -config et elle permet d’inclure plusieurs noms alternatifs dans le CSR. Voici un extrait type :
| Section | Contenu typique |
|---|---|
| [ req ] | distinguished_name = req_distinguished_name req_extensions = v3_req |
| [ v3_req ] | subjectAltName = @alt_names |
| [ alt_names ] | DNS.1 = exemple.com DNS.2 = www.exemple.com DNS.3 = api.exemple.com |
Créer un CSR avec SAN en utilisant le fichier de configuration
Voici une commande OpenSSL adaptée pour générer un CSR avec SAN à partir du fichier openssl.cnf personnalisé :
openssl req -new -key domaine.key -out domaine.csr -config openssl.cnf -extensions v3_req
Cette méthode garantit que tous les domaines listés dans la section alt_names seront inclus dans le CSR, répondant aux exigences actuelles des autorités de certification.
Comment vérifier la cohérence entre votre clé privée, CSR et certificat
Avant d’envoyer votre demande à l’autorité de certification, valider que la clé privée correspond bien au CSR et que les informations sont exactes est une étape fondamentale. OpenSSL facilite ces contrôles grâce à quelques commandes simples :
- Vérification de la clé privée :
openssl rsa -noout -modulus -in domaine.key - Vérification du CSR :
openssl req -noout -modulus -in domaine.csr - Comparer les deux moduli : s’assurer qu’ils sont identiques pour confirmer la correspondance
- Visualiser le contenu du CSR :
openssl req -in domaine.csr -noout -textpour vérifier les SAN et autres informations
Les risques d’une incohérence entre clé privée et CSR
Si la clé privée ne correspond pas au CSR, la signature ne pourra pas être validée par l’autorité de certification, compromettant la délivrance du certificat. Un tel écart peut entraîner des retards critiques dans les déploiements et expose à des failles de sécurité dues à des configurations incomplètes.
Liste des étapes clés pour bien générer un CSR avec OpenSSL
- Préparer l’environnement : se connecter au serveur et définir le dossier de travail
- Créer la clé privée : privilégier RSA 2048 bits minimum ou ECDSA pour plus de sécurité
- Configurer le fichier openssl.cnf : prévoir les extensions comme SAN selon les besoins
- Générer la demande CSR : en intégrant les options nécessaires pour inclure les noms alternatifs
- Vérifier le CSR et la clé : pour confirmer la cohérence avant envoi à l’autorité de certification
- Conserver précieusement la clé privée : elle ne doit jamais quitter le serveur et doit rester secrète
Tableau comparatif des options clés lors de la génération CSR avec OpenSSL
| Option | Description | Usage conseillé |
|---|---|---|
| -newkey rsa:2048 | Génère une nouvelle clé RSA 2048 bits | Standard recommandé pour un bon niveau de sécurité |
| -nodes | Pas de chiffrement de la clé privée (clé non protégée par mot de passe) | Utile pour serveurs automatiques, mais attention à la sécurité |
| -keyout domaine.key | Fichier de sortie pour la clé privée | Ne jamais partager ce fichier hors du serveur |
| -out domaine.csr | Fichier de sortie pour la demande de certificat | Envoyer à l’autorité de certification pour signature |
| -config openssl.cnf | Fichier de configuration pour personnaliser la requête, notamment les SAN | Indispensable pour les demandes multi-domaines |
Qu’est-ce qu’un CSR et pourquoi est-il indispensable ?
Un CSR (Certificate Signing Request) est une demande de signature envoyée à une autorité de certification. Elle contient la clé publique et les informations du propriétaire. Sans CSR, un certificat SSL ne peut pas être délivré.
Comment ajouter plusieurs noms de domaine à un CSR ?
En utilisant les Subject Alternative Names (SAN) via un fichier de configuration openssl.cnf personnalisé, vous pouvez inclure plusieurs domaines dans une seule demande CSR.
La clé privée doit-elle être protégée ?
Oui, la clé privée doit être conservée en sécurité sur le serveur. Elle est la pièce maîtresse assurant l’authenticité de la demande et ne doit jamais être partagée.
Puis-je générer un CSR sans fichier de configuration ?
Oui, mais sans fichier openssl.cnf personnalisé, il sera difficile d’inclure des noms alternatifs dans votre CSR, ce qui limite l’utilisation du certificat.
Comment vérifier que le CSR correspond à ma clé privée ?
En comparant les moduli avec les commandes OpenSSL : openssl rsa -noout -modulus -in clé.key et openssl req -noout -modulus -in demande.csr.



