bg-tutorials

Comment générer un CSR sur Webmin

Ce tutoriel vous montre comment générer une CSR (Certificate Signing Request) sur Webmin. Webmin est un panneau de contrôle basé sur navigateur pour les serveurs Linux, vous avez donc deux façons pratiques de créer la CSR : via les modules SSL intégrés de Webmin (un formulaire graphique pour le panneau Webmin lui-même ou pour un hôte virtuel Apache) ou avec la ligne de commande OpenSSL via le terminal intégré de Webmin. La méthode OpenSSL est la plus flexible et produit une clé et une CSR utilisables avec n’importe quel serveur web (Apache, Nginx, Lighttpd, ou tout autre serveur géré par Webmin).

Les étapes ci-dessous supposent l’utilisation de Webmin 2.x moderne et d’OpenSSL 3.x, qui sont les versions actuelles sur chaque distribution Linux prise en charge en 2026 (Ubuntu 22.04 / 24.04 / 26.04, Debian 12 et 13, RHEL 9 et 10, Rocky 9 et 10, AlmaLinux 9 et 10, openSUSE Leap 15.6 et Tumbleweed). Le résultat est une CSR standard encodée en PEM et signée avec SHA-256, que toute autorité de certification publique accepte.

Étape 1 : Connectez-vous à Webmin

Ouvrez Webmin dans un navigateur à l’URL de votre serveur sur le port 10000 :

https://yourwebsite.com:10000

Remplacez yourwebsite.com par le nom d’hôte ou l’adresse IP de votre serveur. Le port 10000 est le port par défaut de Webmin. Connectez-vous avec le compte root ou un utilisateur Webmin ayant l’autorisation de gérer le SSL.

Étape 2 : Ouvrez le terminal Webmin

Webmin 2.x est livré avec un terminal intégré que vous pouvez utiliser sans ouvrir une session SSH séparée. Dans le panneau de gauche, juste en dessous du lien Refresh Modules, cliquez sur l’icône Terminal (deuxième icône à partir de la gauche), ou appuyez sur Alt + K pour l’ouvrir. Une invite de commande apparaît, s’exécutant en tant qu’utilisateur avec lequel vous êtes connecté.

Si vous préférez une connexion SSH directe depuis votre propre machine, connectez-vous au même serveur et exécutez plutôt la commande de l’étape suivante à partir de là. Le résultat est identique.

Étape 3 : Générez la clé privée et la CSR avec OpenSSL

Dans le terminal, exécutez la commande ci-dessous. Elle crée une clé RSA de 2048 bits et une CSR correspondante en une seule étape, avec le sujet et les Subject Alternative Names (SAN) fournis en ligne afin qu’OpenSSL ne s’arrête pas pour poser des questions interactives :

sudo openssl req -new -newkey rsa:2048 -noenc 
-keyout /etc/ssl/private/yourwebsite.com.key 
-out /etc/ssl/private/yourwebsite.com.csr 
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=yourwebsite.com" 
-addext "subjectAltName=DNS:yourwebsite.com,DNS:www.yourwebsite.com"

Sur Debian et Ubuntu, le répertoire /etc/ssl/private/ existe déjà. Sur RHEL, Rocky, AlmaLinux et Fedora, la convention est /etc/pki/tls/private/ pour les clés et /etc/pki/tls/certs/ pour la CSR. Choisissez des chemins que votre serveur web peut lire, ou enregistrez les fichiers dans votre répertoire personnel et déplacez-les plus tard. Si le répertoire cible n’existe pas, créez-le d’abord avec sudo mkdir -p /etc/ssl/private.

Ce que fait chaque partie de la commande :

  • -newkey rsa:2048 génère une nouvelle clé RSA de 2048 bits. 2048 bits est le minimum actuel pour les certificats publics. Utilisez rsa:4096 pour une clé plus grande, ou passez à ECDSA (voir ci-dessous).
  • -noenc laisse la clé privée non chiffrée afin que le serveur web puisse la lire au démarrage sans invite de phrase secrète. (Sur OpenSSL 1.x, l’option équivalente est -nodes ; les deux fonctionnent encore sur OpenSSL 3.x.)
  • -keyout et -out nomment le fichier de clé privée et le fichier CSR.
  • -subj fournit le sujet du certificat en ligne. Remplacez les valeurs d’exemple par vos informations réelles :
    • C : code pays à deux lettres où votre organisation est légalement enregistrée (par exemple, US).
    • ST : nom complet de l’État ou de la province (par exemple, California), sans abréviations.
    • L : nom complet de la ville (par exemple, San Jose).
    • O : nom légal de l’organisation. Pour un certificat Domain Validation (DV), omettez-le ou définissez-le sur votre domaine.
    • CN : nom de domaine complet (FQDN) du site que vous souhaitez sécuriser (par exemple, yourwebsite.com).
  • -addext « subjectAltName=… » liste chaque nom d’hôte que le certificat doit couvrir. Les CA publiques valident par rapport à la liste SAN, incluez donc également le Common Name ici. Pour un wildcard, incluez à la fois le wildcard et le domaine racine : DNS:*.yourwebsite.com,DNS:yourwebsite.com. Les wildcards couvrent un niveau de sous-domaine et ne correspondent pas au domaine racine à eux seuls.

Si vous préférez une clé ECDSA (plus petite et plus rapide, avec P-256 largement pris en charge), utilisez plutôt cette variante :

sudo openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -noenc 
-keyout /etc/ssl/private/yourwebsite.com.key 
-out /etc/ssl/private/yourwebsite.com.csr 
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=yourwebsite.com" 
-addext "subjectAltName=DNS:yourwebsite.com,DNS:www.yourwebsite.com"

La barre oblique inverse à la fin de chaque ligne est une continuation de ligne du shell, de sorte que la commande reste une seule instruction logique répartie sur plusieurs lignes pour plus de lisibilité. Si votre terminal ne gère pas bien la forme multi-lignes, collez toute la commande sur une seule ligne.

Étape 4 : Protégez la clé privée

Listez le répertoire pour confirmer que les deux fichiers ont été créés :

sudo ls -l /etc/ssl/private/yourwebsite.com.*

Vous devriez voir deux nouveaux fichiers :

  • yourwebsite.com.key : la clé privée. Elle doit rester sur le serveur, ne doit jamais être envoyée à l’autorité de certification, et ne doit jamais être envoyée par e-mail ou collée dans un formulaire. Quiconque possède la clé peut usurper l’identité de votre site.
  • yourwebsite.com.csr : la demande de signature de certificat. C’est le seul fichier que vous soumettez au fournisseur SSL.

Restreignez les permissions sur la clé privée afin que seul root puisse la lire :

sudo chmod 600 /etc/ssl/private/yourwebsite.com.key

Sur les distributions avec SELinux activé (RHEL, Rocky, AlmaLinux, Fedora), réappliquez le contexte SELinux correct après avoir déplacé la clé vers son emplacement final, par exemple sudo restorecon -Rv /etc/pki/tls/.

Étape 5 : Vérifiez la CSR (facultatif mais recommandé)

Avant de soumettre la CSR, confirmez qu’elle contient le bon sujet et les bons SAN, et que sa signature est valide :

openssl req -noout -text -verify -in /etc/ssl/private/yourwebsite.com.csr

Vérifiez que la ligne Subject correspond à vos informations, que X509v3 Subject Alternative Name liste chaque nom d’hôte attendu, et que la vérification de signature affiche verify OK. L’algorithme de signature doit indiquer sha256WithRSAEncryption (ou ecdsa-with-SHA256 pour une clé ECDSA). Si vous préférez ne pas utiliser la ligne de commande, collez le texte de la CSR dans notre décodeur de CSR en ligne pour lire les mêmes champs dans un navigateur.

Étape 6 : Copiez et soumettez la CSR

Affichez la CSR pour pouvoir la copier :

sudo cat /etc/ssl/private/yourwebsite.com.csr

Vous verrez un bloc de texte comme celui-ci :

-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----

Copiez tout le bloc, y compris les lignes —–BEGIN CERTIFICATE REQUEST—– et —–END CERTIFICATE REQUEST—– (chaque marqueur a cinq traits d’union de chaque côté). Collez-le dans le formulaire de commande lorsque vous achetez votre certificat SSL, et laissez la clé privée correspondante en place sur le serveur.

Générer une CSR via les modules graphiques de Webmin

Si vous préférez éviter la ligne de commande, Webmin inclut deux formulaires graphiques qui créent une CSR pour vous. Choisissez celui qui correspond à l’usage du certificat.

Pour un hôte virtuel Apache (votre site web)

  • Allez dans Servers > Apache Webserver.
  • Ouvrez l’onglet Global Configuration, cliquez sur Configure Apache Modules, cochez le module ssl, et cliquez sur Enable Selected Modules s’il n’est pas déjà activé.
  • Dans l’onglet Existing virtual hosts, ouvrez l’hôte virtuel du port 443 (ou créez-en un) en cliquant sur son icône globe.
  • Sur la page Virtual Server Options, choisissez SSL Options, puis cliquez sur Create signing request.
  • Remplissez le formulaire (pays, État, ville, organisation, common name, e-mail, taille de clé 2048 ou plus, et tout Subject Alternative Name), choisissez où Webmin doit écrire les fichiers .csr et .key, et cliquez sur Create Now.

Les deux fichiers apparaissent aux chemins que vous avez spécifiés. Utilisez le .csr pour votre commande et conservez le .key sur le serveur.

Pour le panneau Webmin lui-même (port 10000)

Si vous avez seulement besoin d’un certificat pour l’interface de connexion Webmin, et non pour un site web, générez la CSR à partir du module de configuration Webmin :

  • Allez dans Webmin > Webmin Configuration > SSL Encryption.
  • Ouvrez l’onglet Create Signing Request.
  • Remplissez le nom d’hôte (le nom public par lequel vous accédez à Webmin), le pays, l’État, la ville, l’organisation, l’e-mail et la taille de la clé, puis cliquez sur Create.

Webmin écrit la demande et la clé correspondante sous /etc/webmin/. Une fois que la CA renvoie le certificat émis, installez-le depuis la même page SSL Encryption afin qu’il remplace le fichier par défaut /etc/webmin/miniserv.pem.

Après avoir reçu le certificat

Une fois que l’autorité de certification valide votre CSR et émet le certificat, installez-le sur le serveur. Les étapes exactes dépendent du service auquel le certificat est destiné :

Si vous préférez un flux de travail entièrement graphique qui s’exécute dans votre navigateur, vous pouvez également créer la CSR avec notre Générateur de CSR en ligne. Il génère la clé privée dans votre navigateur, alors enregistrez la clé vous-même et transférez-la sur le serveur avant de terminer l’installation.

Questions fréquemment posées

Où Webmin stocke-t-il la CSR et la clé privée ?

Là où vous le lui indiquez. Avec la commande OpenSSL, les fichiers sont écrits aux chemins que vous passez avec -keyout et -out. Avec le formulaire Create signing request du module Apache, vous choisissez les chemins de sortie dans le formulaire lui-même. Avec Webmin > Webmin Configuration > SSL Encryption, Webmin les écrit sous /etc/webmin/. Sur Debian et Ubuntu, l’emplacement conventionnel des clés est /etc/ssl/private/ ; sur RHEL, Rocky, AlmaLinux et Fedora, c’est /etc/pki/tls/private/.

Dois-je utiliser le terminal de Webmin, ou puis-je me connecter en SSH ?

Les deux fonctionnent. Le terminal intégré de Webmin (l’icône dans le panneau de gauche, ou Alt + K) est pratique car vous êtes déjà connecté, mais la même commande OpenSSL exécutée via une session SSH normale produit une CSR et une clé identiques. Utilisez celui que vous trouvez le plus facile.

Quelle est la différence entre -noenc et -nodes ?

Elles font la même chose : indiquer à OpenSSL de laisser la clé privée non chiffrée sur le disque afin que le serveur web puisse la lire au démarrage sans invite de phrase secrète. -nodes est le nom historique et fonctionne toujours dans OpenSSL 3.x. -noenc est le nouvel alias introduit dans OpenSSL 3.0 et est l’orthographe préférée à l’avenir. Utilisez celle que votre habitude préfère.

La CSR de Webmin est-elle identique à celle d’un autre outil ?

Oui. Une CSR est une demande standard encodée en PEM définie par PKCS #10, et toute CA peut la signer quel que soit l’endroit où elle a été créée. La CSR que vous générez dans le terminal de Webmin, via le formulaire Create signing request du module Apache, ou avec notre Générateur de CSR en ligne, produisent toutes le même type de fichier. Ce qui compte, c’est que la clé privée créée en même temps reste sur le serveur sur lequel vous prévoyez d’installer le certificat.

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.