Le CSR est un message que le client envoie à l’autorité de certification pour demander un certificat électronique
Dans l’exemple de création suivant, pensez à remplacer domain.com
par votre propre nom de domaine.
Nous allons déposer tout ce qui concerne les certificats dans /etc/ssl/
Il est nécessaire en premier lieu de créer une clé privée qui permettra de vérifier le certificat par la suite. Ici on crée une clé cryptée sur 4096 bits (les autorité de certifications demandent 2048 comme valeur minimale, il suffit donc de changer cette valeur si besoin).
- sudo openssl genrsa -out /etc/ssl/domain.com.key 4096
Le retour de la commande doit ressembler à quelque chose de la sorte :
- Generating RSA private key, 4096 bit long modulus
- ..................+++
- ...........................+++
- e is 65537 (0x10001)
Cette clé est très importante, il est impératif de ne pas la perdre (vous pouvez la sauvegarder sur une autre machine par exemple). Il est aussi important de la protéger un tant soit peu. On va donc modifier ses droits comme suit :
- sudo chmod 400 /etc/ssl/domain.com.key
Cette commande rend la clé accessible en lecture uniquement par le super administrateur du serveur.
On crée ensuite le CSR lui-même à partir de la clé privée générée. On le génère crypté avec SHA256, SHA1 est déprécié aujourd’hui.
- sudo openssl req -new -key /etc/ssl/domain.com.key -out /etc/ssl/domain.com.csr -sha256
Plusieurs question sont alors posées pour la génération du CSR :
- Code de deux lettres du pays : FR pour la France
- Etat ou la Province : mettre une région Française
- La ville
- Le nom de l’organisation
- Le nom de la personne responsable
- Une adresse Email
La demande de certificat est donc créé en fonction de la clé privée précédemment générée. Il est accessible comme /etc/ssl/domain.com.csr
Nous pouvons dorénavant envoyer le contenu de ce fichier à une autorité de certification afin qu’ils nous fournissent un certificat dûment signé de leur part. Il nous est également possible d’auto-signer un certificat.