Comment générer un CSR pour un certificat SSL ?
Un CSR (Certificate Signing Request) est une requête de signature de certificat. C'est un message crypté envoyé à une autorité de certification (CA) pour demander la signature numérique d'un certificat d'identification numérique.
Le CSR contient des informations sur l'entité demandant le certificat, telles que le nom de domaine, le nom de l'entreprise, la ville, l'État ou la province, le pays, ainsi que la clé publique du certificat. Lorsqu'un CA signe un certificat à partir d'un CSR, cela garantit que la clé publique appartient à l'entité demandant le certificat et assure également la confidentialité et l'intégrité des informations échangées entre le client et le serveur.
II. Générer une CSR depuis un serveur Linux
1/ Installation des outils nécessaires
Avant de générer une CSR, assurez-vous d'avoir installé les outils nécessaires sur votre serveur Linux. Pour cela, installez OpenSSL, un outil open-source largement utilisé pour la gestion des certificats SSL/TLS. Sur Ubuntu ou debian par exemple il s'agira de la commande suivante
sudo apt-get update
sudo apt-get install openssl
Pour CentOS et dérivé :
sudo yum update -y
sudo yum install openssl -y
2/ Création d'une clé privée
Commencez par créer une clé privée en utilisant la commande suivante :
sudo openssl genrsa -out nomdedomaine.key 2048
Cette commande génère une clé RSA de 2048 bits, qui sera utilisée pour créer la CSR et pour sécuriser les communications.
Attention, gardez cette clé très précieusement et protéger votre clé pour éviter que l'on puisse y accéder et également la supprimer. Si vous la perdez et que celle-ci est compromise il faudra probablement refabriqué le certificat SSL.
sudo chmod 600 nomdedomaine.key
3/ Création du CSR
Utilisez la clé privée précédemment générée pour créer la CSR en exécutant la commande suivante :
sudo openssl req -new -key nomdedomaine.key -out nomdedomaine.csr
Lors de la création d'une Certificate Signing Request (CSR), plusieurs champs sont demandés pour fournir des informations sur le domaine et l'organisation demandant le certificat SSL/TLS. Voici les champs les plus courants :
-
Common Name (CN) : Le nom commun représente le nom de domaine (FQDN) pour lequel le certificat est demandé. Par exemple, "www.example.com" ou "example.com".
-
Organization (O) : Le nom officiel de votre organisation, tel qu'enregistré légalement. Par exemple, "Example Corp."
-
Organizational Unit (OU) : Il s'agit de la division ou du département au sein de votre organisation qui gère le certificat SSL/TLS. Par exemple, "IT Department" ou "Web Security."
-
Locality (L) : Le nom de la ville où votre organisation est située. Par exemple, "Marseille."
-
State or Province (ST) : Le nom complet de l'État ou de la province dans lequel se trouve votre organisation. Par exemple, "California" ou "Île-de-France."
-
Country (C) : Le code à deux lettres représentant le pays dans lequel votre organisation est basée. Par exemple, "US" pour les États-Unis ou "FR" pour la France.
-
Email Address (EA) : Une adresse e-mail de contact pour les questions liées au certificat.
-
Public Key : La clé publique qui sera incluse dans le certificat SSL/TLS. Généralement, cette clé est dérivée de la clé privée que vous avez créée avant de générer la CSR.
Il est important de fournir des informations précises et exactes lors de la création de la CSR, car l'autorité de certification (CA) utilise ces informations pour vérifier l'identité de votre organisation et émettre le certificat SSL/TLS.
Et voila, si tout c'est bien passé, vous avez générer votre fichier .key et CSR avec succès. Il ne vous reste plus qu'a le transmettre à votre fournisseur de certificat SSL.