Une demande de signature de certificat (CSR) est indispensable pour obtenir des certificats SSL/TLS et assurer des communications en ligne sécurisées. Elle contient des informations clés telles que le nom de domaine complet (FQDN), le nom de l'organisation et la clé publique.
Une demande de signature de certificat (CSR) est un message crypté qui contient des informations essentielles sur la personne ou l'organisation souhaitant obtenir un certificat numérique. Il s'agit d'une solution standardisée pour l'envoi de clés publiques aux autorités de certification (AC) par le biais d'un fichier codé.
Une RSC est un élément essentiel de l'infrastructure à clé publique (ICP) et constitue essentiellement la première étape de la demande de certificats SSL/TLS.
Chaque CSR doit comporter quelques éléments clés, destinés à identifier le demandeur :
Une CSR (demande de signature de certificat) inclut des informations telles que le nom de l'organisation, les détails de localisation et, surtout, une clé publique. Cette clé publique, qui constitue une moitié de la paire de clés nécessaire pour un certificat SSL, est générée lors de la création de la CSR et y est jointe.
Parallèlement, une clé privée est également créée. Contrairement à la clé publique, la clé privée ne doit jamais être incluse dans la CSR ni partagée avec l'autorité de certification. Elle doit être conservée de manière sécurisée jusqu'à l'installation du certificat SSL, où elle sera indispensable.
Le type et la longueur de la clé jouent également un rôle important dans le processus. Les principaux types de clés, RSA et DSA, ont des caractéristiques spécifiques. RSA (Rivest-Shamir-Adleman) est largement utilisé en raison de sa rapidité pour le cryptage et la vérification, tandis que DSA (Digital Signature Algorithm) repose sur le problème du logarithme discret et est particulièrement efficace pour la vérification et le décryptage. Lorsqu’on choisit l’algorithme RSA, une longueur de clé de 2048 bits est recommandée. Enfin, les exigences minimales pour la taille des clés sont définies par le CA/Browser Forum.
Les fichiers CSR sont généralement ouverts avec des éditeurs de texte. Ils comprennent des en-têtes et des pieds de page, destinés à indiquer le début et la fin de la requête. La norme actuelle implique un format PEM (Privacy Enhanced Mail) basé sur Base-64. Classé comme un schéma de codage binaire-texte, il est largement considéré comme le format de facto pour l'envoi de clés cryptographiques.
Ci-dessous, nous avons fourni un exemple détaillé de ce que vous pourriez rencontrer, visuellement parlant, lorsque vous soumettez un CSR :
-----DÉBUT DE LA DEMANDE DE CERTIFICAT-----
MIIDGDCCAgACAQAwgakxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRYwFAYDVQQKEw1Hb29nbGUsIEluYy4g
MRcwFQYDVQQLEw5JVCBEZXB0YXJ0bWVudDEXMBUGA1UEAxMOd3d3Lmdvb2dsZS5j
b20xIzAhBgkqhkiG9w0BCQEWFHdlYm1hc3RlckBnb29nbGUuY29tMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq3NT5DBBDql5gTB4/6Zsq/C1iwO4yBD2
nThaNfO1qHKUjnFz0oua+54x97TjmHItRH5H+jPJvmzzb4TUJ274CRFhquOOMZVM
dVIG9FUjogJstMqv4GtBC4C/ype0ilAcPEBjRi9bFiR/g43qPCnlRAJNo4cJko7n
W7erAJsRPNiQMr5UJN9h3GuQMPw6uaI/0OWuWjSTLzEBMujHhPySgZIv1SurVXDz
iFC6S6qvc9XQ1z6tkmrttdoOfDI+eT75QxysHmctgAvkZaFEoRASqcqf3iYyl9Qw
mh0xuLSoR9HTvaD9DhxAIa4/1+l6D9MGb/01+lip7AjqdnTTzSBfcQIDAQABoCkw
JwYJKoZIhvcNAQkOMRowGDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DANBgkqhkiG
9w0BAQsFAAOCAQEAZyMkFtElkS3vQoCPVHevrFcPgrx/Fqx0UdQdnf2RyoJ3jqiU
yPo5+5BHA9kY0TuJLhgMIq0QWAbzZYNL0+J8UUcx8EvMK6DqPpKteyYFCMw6GEzu
diq4RE/8Ea9UpGbw8GH1oEsUksBTwrs06OSOVgDXkJ1XY4VaRkMPflgQWGULgKYO
2P/zcFowENruGLJO7ynyUkm5idKdYzDqk7c7bqyLywOEPxSRKVyblmzqiFCOlCqp
HozZ9+5TmrMPD/hO1uHVECcL08RMGXoGMajojI8CE+cmkaWLq3PZt08Sv0F/Itop
O8XAZ2bYTK4HQfPm+Fud22SD+DkSwt8vN8Lu2g==
-----FIN DEMANDE DE CERTIFICAT-----
Maintenant que vous comprenez la valeur d'une CSR, il est temps de passer à l'étape suivante : produire et soumettre réellement la demande officielle. Cela peut s'avérer compliqué, en partie parce que la génération du code CSR peut sembler un peu différente d'une plateforme à l'autre. Chaque plateforme apporte des avantages et des défis distincts, mais nous avons mis en évidence quelques-unes des solutions les plus courantes ci-dessous :
OpenSSL - un outil de ligne de commande open-source - fournit un cadre commun pour la recherche de CSR. Il est intéressant non seulement en raison de son statut de logiciel libre, mais aussi de sa relative facilité d'utilisation. Il est souvent utilisé pour produire des RSC via les environnements d'hébergement web Nginx et Apache. Cette stratégie est également particulièrement utile pour produire des CSR ECC (Elliptic Curve Cryptography Certificate Signing Requests).
Dans le cadre de l'approche OpenSSL, souvent privilégiée, la commande nécessaire se présente comme suit :
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
Une fois invité à le faire, vous pouvez entrer les détails du CSR mentionnés ci-dessus, tels que l'emplacement et le FQDN. Un code d'accès n'est pas nécessaire, mais il peut s'avérer utile pour renforcer la sécurité.
Une autre approche courante consiste à utiliser le gestionnaire de services d'information Internet (IIS) de Microsoft. Visitez la page Connexions dans le gestionnaire IIS, en passant par le menu Certificats de serveur, puis par la page Actions.
De là, la page Propriétés du nom distinctif fournira un outil de demande de certificat, où le FQDN et d'autres éléments essentiels peuvent être soumis. N'oubliez pas de mentionner la longueur de bit et le fournisseur cryptographique.
Certaines organisations indiquent qu'elles préfèrent travailler avec des plateformes spécifiques pour générer des CSR. Quelle que soit la plateforme souhaitée, nous sommes heureux de fournir une assistance et des conseils à chaque étape du processus. Les autres options pour lesquelles nous fournissons des détails sur la génération sont les suivantes :