Un fichier de demande de signature de certificat (CSR) est quelque chose que vous générez et donnez à une autorité de certification, qui à son tour signe et vous envoie le certificat SSL demandé utilisé pour activer HTTPS sur votre serveur Web.
Qu'est-ce qui compose un fichier CSR?
Les fichiers CSR contiennent des informations sur votre organisation et le type de certificat que vous demandez. Ils sont généralement générés automatiquement à l’aide d’un utilitaire comme OpenSSL. Si vous utilisez LetsEncrypt, la création de fichiers CSR est entièrement gérée par certbot pour vous.
Les fichiers CSR contiennent les informations suivantes:
- Nom commun (CN) – Le nom d'hôte de votre serveur. Il doit correspond exactement, ou vos utilisateurs verront une page d'erreur dans leur navigateur indiquant que le certificat n'est pas approuvé. Vous pouvez utiliser des caractères génériques (par exemple,
* .domaine.com
) pour demander un certificat générique s'appliquant à tous les sous-domaines. Un joker comme celui-ci s'applique àwww
, mais si vous souhaitez sécuriser votre domaine racine et tous les sous-domaines, vous aurez besoin de deux certificats distincts. Le nom commun est le seul champ techniquement requis, vous pouvez donc laisser tout le reste vide si vous le souhaitez. Cependant, il est bon de remplir les autres. - Organisation (O) – Le nom légal complet de votre entreprise, y compris les suffixes tels que LLC. Si vous demandez un certificat EV ou OV (qui sont totalement inutiles), il devra être validé. Pour un SSL normal cependant, vous pouvez mettre n'importe quoi, car il n'est ni vérifié ni même requis.
- Unité organisationnelle (OU) – La division de votre entreprise qui gère le certificat.
- Pays (C) – Le code de pays à deux lettres du pays dans lequel vous vous trouvez.
- État / comté / région (S): nom complet de l'État dans lequel vous vous trouvez.
- Ville / Localité (L): nom complet de la ville dans laquelle vous vous trouvez.
- Adresse e-mail: l'adresse e-mail de votre organisation.
- La clé publique RSA utilisée
Le seul qui affecte le traitement de votre fichier CSR est votre nom usuel. Le nom de domaine devra être validé pour vous empêcher d'enregistrer le domaine de quelqu'un d'autre; L'autorité de certification vous demandera plus tard dans le processus de prouver que vous possédez le domaine, mais le fichier CSR n'a aucun effet sur cela.
Le fichier CSR lui-même est au format PEM et est un gros morceau de données encodées en base64:
----- COMMENCER LA DEMANDE DE CERTIFICAT ----- MIICYDCCAUgCAFAwGzEZMBcGA1UEAwwQKi5wcm92aWRlbmNlLnBlbTCCASIwDQYJ KoZIhvcNAQEBBQADggEPADCCAQoCggEBALA3vPkQJejmFk20mZT / J2995ibnz9MV 2hd + ltxX0gS9 / rDZgGZA8nyPojpXVJbLxJ5PuSqmyZrDA2F3YvCwy13b7QZT / f56 mH3103cVaefhfy + Lc7JSJZtJkw6mVBz9Vz + cpmc3hm0DV3tIZW4L8DKYVQoWl3Ed N0nsHykoI02ZoVdDL + AZU6sNJ2LV9j0LuS2YZkGU7PHsij2W2zROtyL7HdnZp5m6 6e8e6ro9uBoCHBVSEeCDgBHLVQ92IRzPTzpSDr7dYhA2YHPbrjt6T63IgwiR4CU0 2Iq282KasNw1jkyIil9 / 5GPsqHH5Fw0Le / 7Goqrk2Ez3zHwu7pv88AkCAwEAAaAA MA0GCSqGSIb3DQEBCwUAA4IBAQADq9KOCkyLNA7t6RDPatw006CR8zETGqlfnQ2h jxjDZlBWZbAVg6ftEMawxuKRbfw1bmJn53QSMpeX5HiMQLHliw3vsoIsRMPbwdxr j2ydJhYO95ktk4JRvD3 / YR8hRYrGD4EYlsC + u1RwWTXXZ9ZjTvDtf4LZccKAysOW vM88R3pWCpDzTg4KWDw1jsq7Y9ISTYuBkd7d + d7GvK / VxITx8kSAgJRGkd54nlet pZdBwdY95Jg0AyecAE5GSNPiHmRTkm / rTXIPOyGY1kO9Mk / c + q + ZTEhH53v5bzUw yrLZuJkNL3KiNbZIWvQ3ljHNeM3 + 9437n4W3nDTcGL2Bi41n ----- FIN DE LA DEMANDE DE CERTIFICAT -----
Cependant, vous ne souhaiterez pas le modifier manuellement; à la place, vous pouvez utiliser un outil comme OpenSSL pour le générer sur votre serveur.
Comment créer un fichier CSR
Si votre serveur exécute Linux, OpenSSL est probablement déjà installé si vous avez installé Apache ou Ubuntu. Sinon, vous pouvez l’installer à partir du gestionnaire de packages de votre distribution:
sudo apt-get install openssl
Ensuite, exécutez la commande suivante pour lancer l'assistant de création de CSR:
openssl req -new -newkey rsa: 2048 -nodes -keyout server.key -out server.csr
Cela générera une nouvelle clé privée à utiliser pendant le processus et l'enregistrera dans server.key
. Vous serez alors invité à fournir vos informations; vous pouvez laisser la plus grande partie vide si vous le souhaitez, mais assurez-vous que le nom commun est correct.
Votre demande de signature sera enregistrée dans server.csr
. Votre clé publique est incluse dans cette demande, mais vous souhaiterez enregistrer la clé privée pour des renouvellements à l'avenir.
Vous devrez ensuite fournir à votre autorité de certification le fichier CSR pour poursuivre le processus de création du certificat SSL. Si vous utilisez certbot, cela est géré automatiquement et vous n'aurez pas du tout à vous soucier des fichiers CSR.