Ce guide vous montre comment générer une CSR (Certificate Signing Request) sur Red Hat Enterprise Linux à l’aide de la ligne de commande OpenSSL. Le processus produit deux fichiers :
- Une clé privée, qui reste sur votre serveur et n’est jamais partagée.
- Une CSR, que vous envoyez à votre autorité de certification (CA) lorsque vous commandez le certificat.
Il couvre deux approches : une méthode en une seule commande pour les versions récentes d’OpenSSL, et une méthode par fichier de configuration pour les versions plus anciennes d’OpenSSL qui ne prennent pas en charge les extensions en ligne. Les deux produisent une CSR conforme au SAN, signée avec SHA-256, ce qui est requis par les CA publiques.
Avant de commencer : vérifiez votre version d’OpenSSL
OpenSSL est inclus par défaut dans chaque version prise en charge de RHEL. Confirmez qu’il est présent et vérifiez la version, car celle-ci détermine quelle méthode ci-dessous vous pouvez utiliser :
openssl version
Ce qui est fourni avec chaque version actuelle de Red Hat :
- RHEL 10 (sortie en 2025, la version majeure actuelle) : OpenSSL 3.x
- RHEL 9 : OpenSSL 3.x
- RHEL 8 : OpenSSL 1.1.1
- RHEL 7 : OpenSSL 1.0.2 (RHEL 7 a atteint la fin du support de maintenance en 2024 ; migrez ces charges de travail vers une version prise en charge dès que possible)
OpenSSL 1.1.1 et 3.x prennent en charge le paramètre d’extension en ligne utilisé dans la méthode en une seule commande. Ainsi, sur RHEL 8, 9 et 10, vous pouvez utiliser l’option A ci-dessous. Si openssl version indique 1.0.2 ou une version antérieure (RHEL 7), utilisez la méthode par fichier de configuration de l’option B.
Si OpenSSL est absent pour une raison quelconque, installez-le avec le gestionnaire de paquets correspondant à votre version :
# RHEL 8, 9, and 10
sudo dnf install openssl
# RHEL 7
sudo yum install openssl
Sur RHEL 8 et versions ultérieures, yum est un alias de compatibilité pour dnf, de sorte que les deux commandes fonctionnent sur ces versions.
Option A : une seule commande (OpenSSL 1.1.1 et 3.x)
C’est la méthode la plus rapide sur RHEL 8, 9 et 10. Elle génère d’abord la clé privée, puis crée la CSR avec les noms alternatifs du sujet (SAN) ajoutés en ligne.
Étape 1 : Générer la clé privée
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key
Cette commande crée une clé privée RSA de 2048 bits nommée example.com.key dans le répertoire courant. Une clé RSA de 2048 bits est le minimum accepté par les CA publiques ; pour utiliser plutôt une clé moderne à courbe elliptique, remplacez les options d’algorithme par -algorithm EC -pkeyopt ec_paramgen_curve:P-256. Conservez ce fichier privé : il reste sur votre serveur et n’est jamais envoyé à la CA.
Étape 2 : Créer la CSR avec les SAN
Exécutez la commande suivante, en ajustant les champs du sujet et les noms de domaine selon vos besoins :
openssl req -new -sha256 -key example.com.key -out example.com.csr
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=example.com"
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"
Remplacez example.com par votre domaine réel partout, et définissez les champs du sujet avec vos propres informations :
- C : code pays à deux lettres (par exemple, US).
- ST : nom complet de l’État ou de la province.
- L : ville ou localité.
- O : nom légal de l’organisation (pour un certificat DV à domaine unique, ce champ peut être omis).
- CN : le nom de domaine complet principal, par exemple www.example.com.
Listez tous les noms d’hôte que le certificat doit couvrir dans la valeur subjectAltName. Les navigateurs modernes valident par rapport à la liste SAN, et non au Common Name, incluez donc chaque nom, y compris le domaine principal. La commande écrit la CSR dans example.com.csr.
Option B : méthode par fichier de configuration (OpenSSL plus ancien)
Si openssl version indique une version qui ne prend pas en charge le paramètre -addext (OpenSSL 1.0.2 et antérieur, comme sur RHEL 7), définissez plutôt les SAN dans un petit fichier de configuration.
Étape 1 : Créer un fichier de configuration (san.cnf)
Créez un fichier nommé san.cnf avec un éditeur de texte et collez-y ce qui suit, en modifiant les valeurs pour votre domaine et votre organisation :
[ req ]
default_bits = 2048
prompt = no
distinguished_name = dn
req_extensions = req_ext
[ dn ]
C = US
ST = California
L = San Jose
O = Your Company LLC
CN = example.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = example.com
DNS.2 = www.example.com
Ajoutez d’autres noms d’hôte en poursuivant la numérotation : DNS.3, DNS.4, et ainsi de suite.
Étape 2 : Générer la clé et la CSR
Générez la clé privée :
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key
Puis créez la CSR en utilisant le fichier de configuration :
openssl req -new -sha256 -key example.com.key -out example.com.csr -config san.cnf
Vérifier la CSR
Avant de la soumettre, confirmez que la CSR contient les bonnes informations et une signature valide. Cette commande affiche le sujet, la liste des SAN, la taille de la clé, et vérifie l’auto-signature de la requête :
openssl req -noout -text -verify -in example.com.csr
Vérifiez que la ligne Subject et les entrées X509v3 Subject Alternative Name listent bien tous les domaines attendus, que la clé publique est au minimum une clé RSA de 2048 bits (ou une clé à courbe elliptique P-256), et que l’algorithme de signature est SHA-256. Une ligne indiquant certificate request self-signature verify OK (les versions plus anciennes affichent verify OK) signifie que la CSR et la clé privée correspondent. Si vous préférez utiliser un navigateur, collez la CSR dans notre décodeur de CSR en ligne pour examiner les mêmes détails.
Soumettre la CSR
Ouvrez le fichier example.com.csr dans un éditeur de texte et copiez tout son contenu, y compris les lignes de balise -----BEGIN CERTIFICATE REQUEST----- et -----END CERTIFICATE REQUEST----- (chaque balise utilise cinq tirets de chaque côté). Collez l’ensemble du bloc dans le formulaire de commande lorsque vous demandez le certificat auprès de votre fournisseur SSL.
Conservez la clé privée, example.com.key, sur le serveur. Ne l’envoyez pas à la CA et ne la collez nulle part : c’est la partie secrète de la paire et elle ne doit jamais quitter votre contrôle. Une fois que la CA a validé la CSR et émis le certificat, suivez nos instructions d’installation SSL sur Red Hat Linux pour l’installer.
Questions fréquemment posées
La clé privée est écrite dans le fichier que vous nommez dans l’option -out (par exemple, example.com.key) dans le répertoire où vous avez exécuté la commande. Elle est créée localement et n’est jamais incluse dans la CSR. Sauvegardez-la dans un endroit sûr et restreignez ses permissions, car vous avez besoin de cette clé exacte pour installer le certificat émis par la CA.
Les deux sont acceptés. Une clé RSA de 2048 bits est l’option par défaut largement compatible et le minimum autorisé par les CA publiques. Une clé à courbe elliptique (ECDSA P-256) est plus petite et plus rapide tout en offrant une sécurité équivalente ; générez-en une en remplaçant les options de clé par -algorithm EC -pkeyopt ec_paramgen_curve:P-256. Dans tous les cas, la CSR doit être signée avec SHA-256, ce que font déjà les commandes ci-dessus.
Le paramètre -addext a été ajouté dans OpenSSL 1.1.1. Si vous utilisez une version plus ancienne (OpenSSL 1.0.2 sur RHEL 7, par exemple), utilisez la méthode par fichier de configuration de l’option B, qui définit les noms alternatifs du sujet dans un fichier san.cnf plutôt que dans la ligne de commande.
Exécutez openssl req -noout -text -verify -in example.com.csr sur le serveur. Cette commande affiche le sujet, la liste complète des SAN, le type et la taille de la clé, et l’algorithme de signature, et confirme que la CSR correspond bien à sa clé privée. Vérifiez ces champs avant de coller la CSR dans le formulaire de commande.
Collez l’intégralité du bloc, de -----BEGIN CERTIFICATE REQUEST----- jusqu’à -----END CERTIFICATE REQUEST----- inclus, sans qu’aucun caractère ne soit omis. Les deux lignes de balise utilisent cinq tirets de chaque côté. Ne collez pas la clé privée.
Oui. AlmaLinux, Rocky Linux et CentOS Stream sont compatibles au niveau binaire avec la version RHEL correspondante et fournissent la même version d’OpenSSL, donc les commandes sont identiques. Nous avons également un tutoriel dédié sur comment générer une CSR sur CentOS si vous en avez besoin.
Economisez 10% sur les certificats SSL en commandant aujourd’hui!
Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10

