bg-tutorials

Comment générer un CSR dans CentOS

Ce guide vous montre comment générer une CSR (Certificate Signing Request) sur CentOS en utilisant la ligne de commande OpenSSL. Vous exécutez une commande, répondez à quelques questions concernant votre domaine et votre organisation, et OpenSSL crée deux fichiers : une CSR que vous envoyez à l’autorité de certification et une clé privée qui reste sur votre serveur. Les mêmes étapes fonctionnent sur CentOS Stream, AlmaLinux, Rocky Linux et Red Hat Enterprise Linux, car ils intègrent tous le même outil openssl.

Une remarque sur les versions de CentOS : CentOS Linux 8 a atteint sa fin de vie le 31 décembre 2021, et CentOS Linux 7 le 30 juin 2024. Ces versions ne reçoivent plus de mises à jour de sécurité, donc ne les utilisez pas pour de nouveaux sites publics. CentOS Stream est la ligne actuelle maintenue par le CentOS Project, et AlmaLinux et Rocky Linux sont des remplacements directs de l’ancien CentOS Linux. La commande CSR ci-dessous est identique sur tous ces systèmes.

Étape 1 : Connectez-vous à votre serveur via SSH

Connectez-vous à votre serveur CentOS avec SSH. Remplacez user par le nom de votre compte et server-ip par le nom d’hôte ou l’adresse IP de votre serveur :

ssh user@server-ip

La génération de la clé et de la CSR ne nécessite pas les droits root, mais vous avez besoin d’un accès en écriture au répertoire dans lequel vous exécutez la commande. Vérifiez qu’OpenSSL est disponible avec :

openssl version

Si la commande est absente, installez-la avec sudo yum install openssl sur CentOS 7, ou sudo dnf install openssl sur CentOS Stream, AlmaLinux et Rocky Linux.

Étape 2 : Créez la clé privée et la CSR

Exécutez la commande suivante à l’invite. Elle crée une clé privée RSA de 2048 bits et une CSR correspondante en une seule étape :

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr -addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Remplacez yourdomain par le nom de votre domaine réel afin de pouvoir identifier facilement les fichiers par la suite. Par exemple, si votre domaine est example.com, les fichiers deviennent example.key et example.csr. Voici ce que fait chaque partie de la commande :

  • req -new crée une nouvelle demande de signature de certificat.
  • -newkey rsa:2048 génère une nouvelle clé privée RSA de 2048 bits, le minimum actuel pour les certificats publics.
  • -nodes laisse la clé privée non chiffrée, afin que le serveur web puisse la lire au démarrage sans demande de phrase de passe.
  • -keyout yourdomain.key définit le nom du fichier pour la clé privée.
  • -out yourdomain.csr définit le nom du fichier pour la CSR.

OpenSSL utilise SHA-256 par défaut pour signer les CSR modernes, ce qui est exigé par les autorités de certification. Si vous préférez une clé à courbe elliptique plutôt qu’une clé RSA, utilisez une clé P-256 :

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout yourdomain.key -out yourdomain.csr -addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Gardez la clé privée confidentielle. Le fichier .key ne doit jamais quitter votre serveur et ne doit jamais être envoyé à l’autorité de certification ou à quiconque d’autre. Seul le fichier .csr est soumis. Toute personne qui possède la clé privée peut usurper l’identité de votre site, alors protégez-la et sauvegardez-la dans un emplacement sûr.

Étape 3 : Saisissez les détails de votre organisation

Après avoir exécuté la commande, OpenSSL vous demande les informations qui figureront dans la CSR. Répondez à chacune comme décrit ci-dessous :

  • Country Name : le code pays ISO à deux lettres correspondant au lieu d’enregistrement de votre organisation. Par exemple, entrez US pour les États-Unis ou GB pour le Royaume-Uni. Utilisez GB, et non UK : UK n’est pas un code ISO valide et rendra la CSR invalide.
  • State or Province Name : le nom complet de l’état ou de la province, sans abréviation (par exemple, California).
  • Locality Name : le nom complet de la ville où se trouve votre organisation.
  • Organization Name : pour un certificat Business Validation ou Extended Validation, saisissez le nom légal exact de votre entreprise. Pour un certificat Domain Validation, vous pouvez utiliser votre nom complet à la place.
  • Organizational Unit Name : le service qui gère vos certificats, par exemple IT ou Web Administration. Ce champ est facultatif et peut être laissé vide.
  • Common Name : le nom de domaine pleinement qualifié (FQDN) que vous souhaitez sécuriser, par exemple www.example.com. Pour un certificat Wildcard, ajoutez un astérisque devant le domaine, par exemple *.example.com. N’incluez pas https:// ni aucun autre caractère.
  • Email Address : les autorités de certification modernes ignorent ce champ pour la validation. Vous pouvez le laisser vide ou ajouter une adresse de contact.
  • A challenge password : laissez ce champ vide. Il s’agit d’un champ hérité que les autorités de certification n’utilisent pas, et en ajouter un peut causer des problèmes avec certains systèmes de commande.

Une fois les invites terminées, OpenSSL écrit les deux fichiers dans votre répertoire courant. Listez-les pour confirmer qu’ils existent :

ls -l yourdomain.key yourdomain.csr

Étape 4 : Vérifiez la CSR avant de la soumettre

Vérifiez la CSR avant de l’envoyer à l’autorité de certification. Cela permet de confirmer que les informations sont correctes et que la signature est valide, ce qui évite le rejet de la commande :

openssl req -noout -text -verify -in yourdomain.csr

Recherchez la mention verify OK dans le résultat, puis vérifiez que la ligne Subject affiche le Common Name, l’organisation et le pays que vous avez saisis, et que la clé correspond à ce que vous attendiez (par exemple, RSA 2048 bits avec une signature SHA-256). Si vous préférez utiliser un navigateur, collez la CSR dans notre décodeur de CSR en ligne pour lire les mêmes informations.

Étape 5 : Copiez la CSR et commandez votre certificat

Ouvrez la CSR pour copier son contenu :

cat yourdomain.csr

Copiez l’intégralité du bloc, y compris les lignes —–BEGIN CERTIFICATE REQUEST—– et —–END CERTIFICATE REQUEST—–, ainsi que tout ce qui se trouve entre elles. Chaque marqueur utilise cinq tirets de chaque côté. Collez le bloc entier dans le formulaire de commande lorsque vous achetez votre certificat. Si vous préférez préparer la demande avant de passer commande, vous pouvez aussi la coller dans notre générateur de CSR.

Une fois que l’autorité de certification a validé la CSR et délivré le certificat, suivez nos instructions d’installation SSL pour CentOS pour l’installer. Une fois le certificat actif en HTTPS, analysez-le avec notre SSL Checker pour confirmer que le certificat et la chaîne sont correctement servis.

Générer une CSR sur d’autres plateformes Linux

La commande OpenSSL est la même quelle que soit la distribution. Si vous travaillez sur un autre système, consultez nos guides pour Red Hat Linux, Debian et Ubuntu.

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

Image détaillée d'un dragon en vol
Rédigé par

Rédacteur de contenu expérimenté spécialisé dans les certificats SSL. Transformer des sujets complexes liés à la cybersécurité en un contenu clair et attrayant. Contribuer à l'amélioration de la sécurité numérique par des récits percutants.