Ce guide vous montre comment générer un CSR (Certificate Signing Request) sur Debian à l’aide de la ligne de commande OpenSSL. Vous exécutez une seule commande via SSH qui crée deux fichiers en même temps : une clé privée qui reste sur votre serveur, et le CSR que vous soumettez à votre autorité de certification (CA). Les étapes fonctionnent sur Debian 13 (trixie), Debian 12 (bookworm), et les versions antérieures, puisque OpenSSL est intégré au système de base.
Un CSR est un petit bloc de texte qui contient les détails de votre domaine et une clé publique. La CA le lit, valide votre demande et délivre un certificat correspondant à la clé privée créée en parallèle. La clé privée ne quitte jamais votre serveur, alors gardez-la en sécurité : si vous la perdez, le certificat délivré devient inutilisable et vous devez tout recommencer.
Étape 1 : Connectez-vous à votre serveur Debian
Ouvrez un terminal et connectez-vous au serveur via SSH. Remplacez your-user par le nom de votre compte et your-server-ip par l’adresse IP ou le nom d’hôte du serveur :
ssh your-user@your-server-ip
OpenSSL est inclus dans le système de base de Debian, il n’y a donc rien de plus à installer. Pour confirmer qu’il est disponible, vérifiez la version :
openssl version
Étape 2 : Générez la clé privée et le CSR
Exécutez la commande ci-dessous. Elle crée la clé privée et le CSR en une seule étape et inclut les noms alternatifs du sujet (Subject Alternative Names, SAN) que les navigateurs et les CA modernes exigent. Exécutez-la depuis un répertoire dans lequel vous pouvez écrire, comme votre répertoire personnel :
openssl req -new -newkey rsa:2048 -nodes
-keyout mywebsite.key
-out mywebsite.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=mywebsite.com"
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Voici ce que fait chaque partie :
- 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. 2048 bits est le minimum actuel pour les certificats publics ; vous pouvez utiliser rsa:4096 pour une clé plus grande.
- -nodes laisse la clé privée non chiffrée (sans phrase secrète), afin que le serveur web puisse démarrer sans demander de mot de passe.
- -keyout mywebsite.key écrit la clé privée. Gardez ce fichier privé et ne l’envoyez jamais à qui que ce soit.
- -out mywebsite.csr écrit le CSR que vous soumettez à la CA.
- -subj remplit les champs du sujet directement dans la commande afin qu’elle s’exécute sans invites interactives. Définissez CN (Common Name) sur votre nom de domaine complet.
- -addext « subjectAltName=… » ajoute les entrées SAN. Les CA délivrent les certificats en fonction de la liste SAN, donc incluez chaque nom d’hôte que le certificat doit couvrir.
Remplacez mywebsite.com par votre domaine réel, et modifiez les valeurs de -subj pour correspondre à votre organisation. Le code pays à deux lettres (C) doit être en majuscules, par exemple US ou GB. Pour un certificat à validation de domaine (DV), les champs de l’organisation ne sont pas vérifiés, mais la commande a tout de même besoin de valeurs valides.
Si vous préférez remplir les champs de manière interactive plutôt qu’avec -subj, supprimez cette ligne et OpenSSL vous demandera chaque valeur :
openssl req -new -newkey rsa:2048 -nodes
-keyout mywebsite.key
-out mywebsite.csr
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Lorsque cela vous est demandé, laissez le challenge password et le nom d’entreprise facultatif vides en appuyant sur Entrée. Les CA ignorent ces champs, et un challenge password peut poser des problèmes par la suite.
Ajouter davantage de domaines ou un wildcard
Ajoutez d’autres noms d’hôte à la liste SAN, séparés par des virgules. Par exemple, pour inclure un sous-domaine API :
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com,DNS:api.mywebsite.com"
Pour un certificat wildcard, utilisez *.mywebsite.com. Un wildcard couvre un seul niveau de sous-domaines mais pas le domaine nu, alors listez les deux si vous voulez que le domaine racine soit également couvert :
-addext "subjectAltName=DNS:*.mywebsite.com,DNS:mywebsite.com"
Vous préférez une clé ECDSA ?
Les clés ECDSA sont plus petites et plus rapides que RSA pour un même niveau de sécurité, et sont largement prises en charge. Pour générer une clé P-256 (prime256v1) et un CSR à la place, remplacez l’argument -newkey :
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes
-keyout mywebsite.key
-out mywebsite.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=mywebsite.com"
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Les versions modernes d’OpenSSL signent le CSR avec SHA-256 par défaut, ce qui correspond à l’exigence des CA. Il n’est pas nécessaire d’ajouter un indicateur de condensé distinct.
Étape 3 : Vérifiez le CSR
Avant de soumettre la demande, confirmez qu’elle contient le bon domaine et les bons SAN et que sa signature est valide. Cette commande affiche le contenu décodé et vérifie la signature localement :
openssl req -noout -text -verify -in mywebsite.csr
Recherchez verify OK dans le résultat, vérifiez que la ligne Subject affiche votre Common Name, et confirmez que la section X509v3 Subject Alternative Name liste chaque nom d’hôte attendu. Si un SAN est manquant, régénérez le CSR avec la valeur -addext correcte. Vous pouvez également coller le CSR dans notre décodeur CSR en ligne pour vérifier ces champs dans un navigateur.
Étape 4 : Soumettez le CSR
Ouvrez le fichier CSR et copiez tout son contenu, y compris les lignes BEGIN et END :
cat mywebsite.csr
Le bloc ressemble à ceci. Copiez tout depuis la première ligne jusqu’à la dernière, y compris les cinq tirets de chaque côté des marqueurs BEGIN et END :
-----BEGIN CERTIFICATE REQUEST-----
MIIC...base64-encoded data...AB
-----END CERTIFICATE REQUEST-----
Collez ce bloc dans votre formulaire de commande SSL. Une fois que la CA a validé le CSR et délivré le certificat SSL, suivez les instructions d’installation SSL pour Debian pour le déployer. Conservez le fichier mywebsite.key sur le serveur : vous en avez besoin avec le certificat délivré pour activer HTTPS, et vous ne devez jamais l’envoyer à la CA ou à qui que ce soit d’autre.
Si vous préférez ne pas utiliser la ligne de commande, vous pouvez créer la demande avec notre générateur de CSR et coller le résultat dans votre commande.
Générer un CSR sur d’autres plateformes
Vous utilisez une autre distribution Linux ou un autre serveur ? Consultez nos autres guides CSR :
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

