Ce tutoriel vous montre comment générer une CSR sous Ubuntu, plus précisément sur un serveur Apache basé sur Ubuntu accessible via SSH. Ubuntu utilise OpenSSL à cet effet, vous exécutez donc deux opérations en une seule commande : une nouvelle clé privée et la CSR (Certificate Signing Request) correspondante. Vous pouvez indiquer les détails du sujet sous forme d’options, ce qui permet de tout faire en une seule ligne à copier-coller.
Les étapes ci-dessous fonctionnent sur toutes les versions prises en charge d’Ubuntu (22.04, 24.04 et 26.04 LTS), car chacune est fournie avec OpenSSL 3.x. Elles fonctionnent aussi sur des versions plus anciennes comme la 20.04, livrée avec OpenSSL 1.1.1, bien que la 20.04 ait atteint la fin de sa prise en charge standard. Les versions modernes d’OpenSSL signent la requête avec SHA-256 par défaut, vous n’avez donc pas besoin d’ajouter une option de condensé (digest).
Étape 1 : Accédez à votre serveur Ubuntu
Connectez-vous au serveur via SSH depuis votre machine locale (Terminal sur macOS ou Linux, PowerShell ou Windows Terminal sous Windows). Remplacez le nom d’utilisateur et l’hôte par les vôtres :
ssh your-user@your-ubuntu-server
Générez la CSR sur le même serveur qui hébergera le certificat. La clé privée est créée à côté de la CSR et doit rester sur ce serveur ; exécuter ces commandes en local puis déplacer la clé ailleurs va à l’encontre de l’objectif recherché.
Étape 2 : Générez la clé privée et la CSR
Exécutez la commande suivante. Elle crée une clé RSA de 2048 bits et une CSR en une seule étape, avec le sujet et les Subject Alternative Names (SAN) fournis directement afin qu’OpenSSL n’interrompe pas le processus pour poser des questions :
openssl req -new -newkey rsa:2048 -nodes
-keyout yourdomain.key
-out yourdomain.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com"
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"
Ce que fait chaque partie :
- -newkey rsa:2048 génère une nouvelle clé RSA de 2048 bits. 2048 bits est le minimum actuel pour les certificats publics ; vous pouvez utiliser rsa:4096 pour une clé plus grande, ou passer à ECDSA (voir ci-dessous).
- -nodes laisse la clé privée non chiffrée afin qu’Apache puisse la lire au démarrage sans demander de phrase secrète.
- -keyout et -out nomment les fichiers de la clé privée et de la CSR.
- -subj fournit le sujet du certificat. Indiquez ici le nom réel de votre entreprise, votre état et votre ville, et non les valeurs indicatives. CN (Common Name) est votre domaine principal.
- -addext « subjectAltName=… » répertorie 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.
Remplacez yourdomain.com par votre domaine réel partout. Pour couvrir des noms d’hôte supplémentaires, ajoutez-les à la liste SAN séparés par des virgules, par exemple DNS:api.yourdomain.com. Pour un wildcard, incluez à la fois le wildcard et le domaine simple : DNS:*.yourdomain.com,DNS:yourdomain.com.
Si vous préférez une clé ECDSA (plus petite et plus rapide, avec P-256 largement pris en charge), générez la clé et la CSR comme suit :
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes
-keyout yourdomain.key
-out yourdomain.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com"
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"
Étape 3 : Repérez vos fichiers
Listez le répertoire courant pour confirmer que les deux fichiers ont bien été créés :
ls
Vous devriez voir deux nouveaux fichiers :
- yourdomain.key : votre clé privée. Conservez-la sur le serveur, sauvegardez-la de manière sécurisée et ne l’envoyez jamais à qui que ce soit, y compris à l’autorité de certification. Quiconque détient la clé peut usurper l’identité de votre site.
- yourdomain.csr : votre Certificate Signing Request. C’est le fichier que vous soumettez au fournisseur SSL.
Étape 4 : Vérifiez la CSR (facultatif mais recommandé)
Avant de la soumettre, vérifiez que la CSR contient le bon sujet et les bons SAN, et que sa signature est valide. Ceci décode la requête localement avec OpenSSL :
openssl req -noout -text -verify -in yourdomain.csr
Vérifiez que la ligne Subject affiche vos informations, que X509v3 Subject Alternative Name répertorie chaque nom d’hôte attendu, et que la vérification de la 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 la CSR dans notre décodeur de CSR en ligne pour lire les mêmes champs dans un navigateur.
Étape 5 : Soumettez votre CSR
Pour copier la CSR pour votre commande, affichez son contenu :
cat yourdomain.csr
Vous verrez un bloc de texte comme celui-ci :
-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----
Copiez l’intégralité du bloc, y compris les lignes —–BEGIN CERTIFICATE REQUEST—– et —–END CERTIFICATE REQUEST—– (chaque marqueur comporte cinq traits d’union de chaque côté). Ce bloc entier est votre CSR. Collez-le dans le formulaire de commande lors de votre achat, et conservez la clé privée correspondante en place sur le serveur.
Si vous préférez ne pas utiliser la ligne de commande, vous pouvez également créer la requête avec notre générateur de CSR en ligne. Notez qu’il génère la clé privée dans votre navigateur, alors sauvegardez cette clé vous-même et transférez-la sur le serveur.
Une fois que votre CA a validé la CSR et délivré le certificat, poursuivez avec les instructions d’installation SSL pour 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

