Générateur de CSR

Créez une demande de signature de certificat et la clé privée qui l'accompagne, ici même, sur cette page. La paire de clés est générée par le Web Crypto de votre navigateur et ne quitte jamais votre ordinateur : rien de ce que vous saisissez, aucune clé, n'est envoyé à notre serveur ni à un autre.

RSA 2048/3072/4096 · ECDSA P-256/P-384/P-521 · Ed25519 · généré par Web Crypto dans votre navigateur, jamais envoyé
Type de clé

Le choix raisonnable par défaut : aussi solide que RSA 3072, et bien plus petite.

À qui est destiné le certificatFacultatif pour la plupart des certificats

La dénomination légale de votre organisation, telle qu'elle est enregistrée.

Écrivez-le en toutes lettres plutôt que de l'abréger.

Deux lettres, le code ISO 3166-1.

Ce qu'il faut demanderUne AC publique les définit selon son propre profil. Une AC privée peut vouloir qu'on les demande.
Usage de la clé
Usage étendu de la clé

Seulement si votre AC vous en a demandé un. L'inscription SCEP l'utilise ; une commande de certificat web, non.

La paire est créée par votre navigateur et n'est envoyée nulle part.

À envoyerLa demande de signature de certificatGénéré dans ce navigateur quand vous appuyez sur le bouton
À conserverLa clé privéeGénéré dans ce navigateur quand vous appuyez sur le bouton

Ce que vous allez envoyerECDSA P-256 · SHA-256

ECDSA P-256Généré dans ce navigateur quand vous appuyez sur le bouton
Ce qu'une autorité de certification en fera

Saisissez un nom ou essayez un exemple : cette colonne montre ce qu'une autorité de certification ferait de la demande, avant même qu'elle soit générée.

La paire de clés est créée par le Web Crypto de votre navigateur, dans un cadre qui ne peut se connecter nulle part, et n'est jamais envoyée. Ouvrez votre panneau réseau et observez.

Qu'est-ce qu'un générateur de CSR ?

Il crée deux fichiers : une demande de signature de certificat à envoyer à une autorité de certification, et la clé privée qui reste chez vous. La demande contient votre clé publique et les noms que vous voulez faire certifier, le tout signé par la clé privée.

Le format est PKCS#10, défini dans la RFC 2986. La demande contient un nom de sujet, votre clé publique, un ensemble d'attributs qui portent les noms alternatifs, et une signature faite avec votre clé privée sur l'ensemble. Cette auto-signature est la preuve de possession : elle montre que l'expéditeur détient la clé pour laquelle le certificat sera émis.

Les deux fichiers ne sont pas interchangeables. La demande est faite pour être envoyée — à une AC, dans un ticket de support, n'importe où. La clé privée, jamais. Sur cette page, la clé est créée et conservée dans votre navigateur. Il faut tout de même faire confiance au code de la page, comme pour tout outil web, mais vous pouvez vérifier ce qu'il envoie : ouvrez votre panneau réseau et observez pendant que vous en générez une.

Deux fichiers, créés ensembleRFC 2986 · PKCS #8

La clé privéeÀ conserver

-----BEGIN PRIVATE KEY-----
  • La moitié privéeSigne la demande maintenant, puis chaque connexion à votre serveur par la suite
  • Sa moitié publiqueCopiée dans la demande

Un seul exemplaire, sur votre ordinateur

La demande de signature de certificatÀ envoyer

-----BEGIN CERTIFICATE REQUEST-----
  1. Nom du sujet108 octetsFacultatif pour la plupart des certificats
  2. Votre clé publique294 octetsLe seul champ qu'une autorité de certification utilise à coup sûr
  3. Les noms demandés60 octetsLes noms alternatifs, portés par un attribut
  4. La signature261 octetsFaite par la clé privée, sur tout ce qui précède

Elle ne contient aucun secret

Une vraie demande, de 749 octets au total, à côté de la clé qui l'a créée. Seule la demande a besoin de quitter votre ordinateur : elle contient la moitié publique de la clé, et une signature que seule la moitié privée pouvait produire.
Générateur de CSR : les champs du sujet, les noms alternatifs et la demande de signature de certificat terminée avec sa cléGénérateur de CSR : les champs du sujet, les noms alternatifs et la demande de signature de certificat terminée avec sa cléLes nomsLes noms d'hôte que le certificat doit couvrir. Le premier devient le nom commun ; les autres le rejoignent.La cléRSA ou une courbe elliptique. La paire est créée par votre navigateur, sous vos yeux.Qui vous êtesLes champs du sujet. Une AC publique les valide elle-même, si bien que seuls quelques-uns subsistent.Les deux fichiersLa demande à envoyer, et la clé privée à conserver. La clé n'existe que dans votre navigateur tant que vous ne l'avez pas enregistrée.La même chose, en commandeLa ligne OpenSSL qui génère exactement cette demande, si vous préférez le faire vous-même.
Une demande en cours de génération : les noms, le type de clé et les deux fichiers qui en sortent. Sélectionnez un numéro pour voir ce que montre chaque partie.

Pourquoi générer la clé dans votre navigateur ?

Parce qu'une clé privée qui arrive sur le serveur de quelqu'un d'autre répond à la définition même du secteur d'une clé compromise, quoi que ce serveur en fasse ensuite.

Les Baseline Requirements du CA/Browser Forum la définissent sans laisser de place à la discussion : « Une clé privée est considérée comme compromise si sa valeur a été divulguée à une personne non autorisée, ou si une personne non autorisée y a eu accès. » Aucun mésusage n'est nécessaire. L'arrivée suffit.

Ce n'est pas théorique. En 2020, DigiCert a trouvé 337 clés privées que des clients avaient collées à côté de leur demande, a révoqué tous les certificats concernés et l'a signalé publiquement : « en envoyant la clé privée à DigiCert avec le CSR, le client a compromis la clé privée », en ajoutant que « la seule partie d'un CSR que nous utilisons est la clé publique ». Un générateur qui crée la clé sur son propre serveur et vous en remet une copie l'a, selon cette définition, déjà compromise. Cette page ne peut pas faire cela : crypto.subtle.generateKey s'exécute dans votre navigateur, dans un cadre isolé qui n'a le droit de se connecter nulle part, et la page autour n'en voit que la clé publique.

Où la clé privée est crééeCA/Browser Forum TLS BR 2.3.1

Cette page

Votre navigateur
  1. Web Crypto crée la paire de clés crypto.subtle.generateKey
  2. La clé signe la demande
  3. Vous sauvegardez les deux fichiers
Rien ne franchit cette ligne
Leur serveur

La clé n'a jamais existé que sur votre ordinateur

Un générateur qui crée la clé sur son serveur

Votre navigateur
  1. Vos noms et vos informations partent vers le serveur
La clé privée la franchit
Leur serveur
  1. Le serveur crée la paire de clés
  2. La clé privée vous est renvoyée

Compromise par définition, avant que quoi que ce soit soit installé

« Une clé privée est considérée comme compromise si sa valeur a été divulguée à une personne non autorisée, ou si une personne non autorisée y a eu accès. »

la définition que les autorités de certification ont écrite pour elles-mêmes

C'est déjà arrivéEn 2020, une autorité de certification a trouvé 337 clés privées envoyées à côté de demandesTous les certificats concernés ont été révoqués

La différence ne tient pas à la façon dont la clé est créée, mais à l'endroit. Une clé qui est passée par le serveur de quelqu'un d'autre répond déjà à la définition même du secteur d'une clé compromise, quoi que ce serveur en fasse ensuite.

Comment créer un CSR

Saisissez les noms d'hôte, choisissez un type de clé et appuyez sur le bouton. Tout le reste est facultatif : un certificat moderne s'identifie par ses noms alternatifs, pas par son sujet.

Mettez dans le champ des noms tous ceux que le certificat doit couvrir : example.com, www.example.com, un wildcard comme *.api.example.com, ou une adresse IP. Le premier devient aussi le nom commun : lorsqu'un certificat a un nom commun, les Baseline Requirements exigent qu'il reprenne exactement l'un des noms alternatifs.

Le pays, l'organisation et la localité ne comptent que pour un certificat à validation d'organisation ou à validation étendue, et même alors l'AC doit les valider elle-même avant qu'ils entrent dans un certificat. Pour un certificat à validation de domaine — celui qu'émet Let's Encrypt — les seuls champs du sujet que les règles autorisent sont le pays et le nom commun. Le générateur signale les deux champs qu'une AC publique supprime ou interdit, l'unité organisationnelle et l'adresse e-mail, et la colonne à côté du formulaire montre ce qui changerait.

Des noms aux deux fichiers/csr-generator
  1. Saisissez les noms

    Chaque hôte que le certificat doit couvrir ; le premier devient le nom commun
  2. Choisissez un type de clé

    P-256, sauf si un équipement ancien doit la lire
  3. Générer la demande

    Votre navigateur crée la clé et signe la demande avec elle
  4. Récupérez les deux fichiers

    Envoyez la demande à votre autorité de certification ; conservez la clé
Tout le travail, tel que cette page le fait. Tout ce qui suit les noms est facultatif : un certificat moderne s'identifie par ses noms alternatifs, si bien que les champs du sujet ne comptent que pour une commande à validation d'organisation.

Quel type de clé choisir ?

ECDSA P-256 pour tout ce qui est nouveau : elle est aussi solide qu'une clé RSA de 3072 bits, bien plus petite, et autorisée par les règles que suit toute autorité de certification publique. RSA 2048 quand un ancien équipement doit lire la clé.

Le NIST place P-256 et RSA-3072 à la même force de sécurité de 128 bits, et ne donne aucune force propre à RSA-4096 : le palier suivant de son tableau est de 7680 bits. Une clé de 4096 bits impose donc à chaque visiteur un travail de négociation supplémentaire, sans gain documenté. P-384 est le palier de 192 bits, et les Baseline Requirements autorisent aussi P-521, mais Let's Encrypt refuse P-521 : une demande peut être parfaitement légale et échouer quand même chez l'AC que vous comptiez utiliser.

Ed25519 est proposée ici parce qu'elle est excellente pour SSH, pour la signature et pour une AC privée — mais aucune autorité de certification publique n'émettra de certificat TLS pour cette clé. Les règles listent RSA et les trois courbes du NIST, puis précisent qu'« aucun autre algorithme ni taille de clé n'est autorisé ». Il en va de même pour ML-DSA, post-quantique : le vote qui l'aurait permis en TLS public a été clos sans être adopté en octobre 2026. Le générateur l'indique à côté de chaque choix plutôt que de vous laisser l'apprendre par un e-mail de refus.

Force de sécurité, d'après le tableau du NISTNIST SP 800-57 Part 1 Rev 5, Table 2
112 bits128 bits192 bits256 bits
RSA20483072768015360
RSA 40964096
ECDSA—P-256P-384P-521

4096 bits : aucun palier propre Le tableau passe directement d'une taille à la suivante : le travail de négociation supplémentaire n'achète rien de documenté

Absente du tableau

Ed25519Aucune autorité de certification publique n'émet pour cette clé

ML-DSAPost-quantique : le vote qui l'aurait permis a été clos sans être adopté en octobre 2026

  • La même force
  • Proposée ici
  • Dans le tableau, non proposée ici
  • Acceptée parLet's Encrypt
À lire en travers, pas de haut en bas : P-256 et une clé RSA de 3072 bits ont la même force, et la courbe y parvient avec le douzième de la taille de clé. Une clé peut respecter les règles et être quand même refusée par l'autorité de certification que vous comptiez utiliser.

Que mettre dans chaque champ

Les noms : chaque hôte que le certificat couvre. Le pays : deux lettres. L'organisation : votre dénomination légale, pour un certificat OV ou EV. Tout le reste est facultatif, et une partie est désormais interdite.

L'unité organisationnelle est interdite. Selon le vote SC047 du CA/Browser Forum, aucun certificat TLS public émis depuis le 1er septembre 2022 ne peut contenir OU ; une AC le supprime plutôt que de refuser la commande. Une adresse e-mail dans le sujet n'est pas non plus permise sur un certificat à validation de domaine, et elle est déconseillée sur les autres. Ce générateur propose quand même ces deux champs, pour les AC privées, et les signale.

Le pays est un code ISO 3166-1 alpha-2 — US, DE, GB, IN — et non un nom de pays, ni un code à trois lettres. L'État ou la province doit s'écrire en toutes lettres plutôt qu'abrégé. Pour un certificat à validation étendue, il faut aussi la juridiction d'immatriculation et le numéro d'immatriculation, que ce générateur propose.

Quels champs du sujet se retrouvent sur le certificatCA/Browser Forum TLS BR 7.1.2.7
Dans votre demandeDVValidation de domaineOVValidation d'organisationEVValidation étendue
Nom communCN
PaysC
OrganisationO
Ville, État ou provinceL, ST
Rue, code postalstreet, postalCode
Unité organisationnelleOUInterdite depuis le 1 septembre 2022
Adresse e-mailemailAddress
Numéro d'immatriculation, catégorie d'activité, juridictionserialNumber, businessCategory, jurisdictionC
  • Sur le certificat, tel que l'AC l'a validé
  • Autorisé, mais déconseillé
  • Absent de ce type de certificat
  • Jamais autorisé
Ne renseignez que ce que le certificat que vous achetez peut porter : une autorité de certification doit valider chaque champ du sujet qu'elle conserve, et le générateur signale les champs qu'une AC publique supprime.

Puis-je réutiliser une clé ou un CSR ?

Vous le pouvez — rien ne l'interdit — mais une clé neuve pour chaque certificat coûte une seconde et limite ce qu'une seule clé divulguée peut atteindre.

Les Baseline Requirements sont explicites : « une demande de certificat PEUT suffire pour plusieurs certificats émis au même demandeur », réutiliser une demande pour renouveler est donc permis. Le coût apparaît quand quelque chose tourne mal. Si cette clé est un jour compromise, tous les certificats qui la portent doivent être révoqués dans les 24 heures, pas seulement celui qui vous inquiétait.

Et une clé compromise est définitivement grillée : une AC « DOIT rejeter une demande de certificat » si on lui a signalé que la clé a été compromise, si bien que cette clé ne pourra plus jamais être certifiée par une AC qui en a été informée. Avec des durées de certificat qui tombent à 47 jours en 2029, une clé réutilisée signerait pendant des années, au fil de dizaines de renouvellements. En générer une nouvelle prend une seconde.

Une clé derrière plusieurs certificatsCA/Browser Forum TLS BR 4.9.1.1 · 6.1.1.3

Une clé, réutilisée

La clé fuite
  • www.example.com
  • api.example.com
  • mail.example.com

3 certificats révoqués dans les 24 heures

Et la clé ne pourra plus jamais être certifiée par une AC qui en a été informée

Une nouvelle clé pour chacun

  • www.example.com
  • api.example.comIntact
  • mail.example.comIntact

1 certificat révoqué dans les 24 heures

Réutiliser une clé est permis. Le coût n'apparaît que lorsque cette clé fuite : tout ce qui la porte tombe d'un coup, et la clé est refusée à partir de là.

Que se passe-t-il après l'envoi du CSR

L'AC valide les noms, ignore l'essentiel du reste, et renvoie un certificat. Conservez la clé privée : sans elle, vous ne pouvez pas installer le certificat.

La validation porte sur les noms, pas sur le fichier : un enregistrement DNS, un fichier sur le serveur web, ou un e-mail à une adresse du domaine. Une fois cela passé, le certificat revient et la demande ne sert plus à rien — elle n'est nécessaire ni pour installer, ni pour renouveler, ni pour révoquer quoi que ce soit. Ce qu'il faut garder, c'est la clé privée, car le certificat est inutile sans elle. Collez le certificat dans le décodeur CSR et ajoutez la clé privée à côté pour vérifier qu'ils correspondent avant de redémarrer quoi que ce soit.

Le certificat sera de courte durée. Un certificat TLS public émis aujourd'hui ne peut pas dépasser 200 jours, puis 100 le 15 mars 2027 et 47 le 15 mars 2029. À ces durées, le renouvellement doit être automatique, c'est-à-dire ACME — et un client ACME génère la demande à votre place : cette page est donc pour les cas qu'un client ne peut pas couvrir, un appareil, un équipement, une AC qui veut une demande faite à la main.

De la demande à un certificat qui fonctionneRFC 8555 · CA/Browser Forum TLS BR 6.3.2
  1. Votre ordinateurVous envoyez la demande
  2. L'autorité de certificationElle vérifie que vous contrôlez chaque nomUn enregistrement DNSUn fichier sur le serveur webUn e-mail à une adresse du domaine
  3. L'autorité de certificationElle signe le certificat et le renvoie
  4. Votre ordinateurVous l'installez à côté de la cléAprès cela, la demande ne sert plus à rien
La clé privée ne bouge jamais
Combien de temps le certificat peut durer
  1. 398 joursEn vigueur aujourd'hui
  2. 200 joursà partir du 15 mars 2026
  3. 100 joursà partir du 15 mars 2027
  4. 47 joursà partir du 15 mars 2029
La validation porte sur les noms, pas sur le fichier. Le certificat qui revient est inutile sans la clé, et des durées aussi courtes sont la raison pour laquelle le renouvellement doit désormais être automatique.

La même chose avec OpenSSL

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout example.com.key -out example.com.csr crée la clé et la demande en une seule étape.

Le générateur écrit la commande correspondant à ce que vous avez rempli, noms alternatifs et chaque extension compris, et nos tests la font passer par OpenSSL pour vérifier qu'elle crée le même sujet et les mêmes extensions que la page. Ajoutez -subj "/CN=example.com" pour éviter les questions, -addext "subjectAltName=DNS:example.com,DNS:www.example.com" pour les noms, et -utf8 pour qu'un nom accentué survive. -nodes laisse la clé non chiffrée : OpenSSL 3 préfère la nouvelle écriture -noenc mais accepte toujours -nodes, qui est la seule écriture que connaisse le LibreSSL intégré à macOS. Ce LibreSSL ne peut pas créer de clé Ed25519 du tout ; utilisez OpenSSL 1.1.1 ou une version ultérieure pour en créer une.

Pour vérifier ce que vous avez créé : openssl req -in example.com.csr -text -verify -noout affiche chaque champ et vérifie l'auto-signature, en s'arrêtant avant d'afficher quoi que ce soit si la signature échoue. Pour confirmer que la clé appartient à la demande, comparez openssl req -in example.com.csr -pubkey -noout avec openssl pkey -in example.com.key -pubout. Aucune norme n'attribue d'extension de fichier à un CSR : .csr, .pem, .req et .txt sont donc tous corrects.

Une commande, option par optionOpenSSL 3 · openssl-req(1)

openssl req -new -utf8 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout example.com.key -out example.com.csr -sha256 -subj '/CN=example.com' -addext 'subjectAltName=DNS:example.com,DNS:www.example.com'

  1. openssl req -newCréer une demande de signature de certificat
  2. -utf8Lire le sujet en UTF-8, pour qu'un nom accentué survive
  3. -newkey…et une nouvelle paire de clés avec elle
  4. -pkeyoptSur la courbe P-256
  5. -nodesLaisser le fichier de clé non chiffré (OpenSSL 3.0 l'écrit aussi -noenc)
  6. -keyoutL'endroit où la clé privée est écrite
  7. -outL'endroit où la demande est écrite
  8. -sha256Le hachage avec lequel la demande est signée
  9. -subjLe sujet, pour qu'elle ne pose aucune question
  10. -addextLes noms alternatifs

La relire et vérifier sa propre signatureopenssl req -in example.com.csr -text -verify -noout

La clé appartient-elle à la demande ? Les deux sorties doivent être identiquesopenssl req -in example.com.csr -pubkey -nooutopenssl pkey -in example.com.key -pubout

La commande que cette page écrit pour son premier exemple, décomposée. Le générateur écrit la même ligne pour tout ce que vous remplissez, avec chaque nom et chaque extension que porte la demande.

Créer un CSR sous Windows, IIS et macOS

Windows a certreq et un fichier .inf ; macOS a Trousseaux d'accès. Chacun a un piège qu'il vaut mieux connaître avant de commencer.

Sous Windows, certreq -new request.inf request.req lit un fichier dont la section [NewRequest] définit le sujet et la longueur de clé, et dont les noms alternatifs vont dans [Extensions] sous l'OID 2.5.29.17 avec des lignes _continue_ — il n'existe pas de clé SAN=, une erreur facile à commettre. La page de référence de Microsoft elle-même avertit que son exemple utilise SHA-1, et Let's Encrypt refuse une demande signée en SHA-1 : définissez donc vous-même le hachage.

Sur un Mac, Trousseaux d'accès > Assistant de certification > Demander un certificat à une autorité de certificat en écrit un ; le type et la taille de la clé se cachent derrière la case « Me laisser indiquer les informations sur la bi-clé », et les clés RSA de moins de 2048 bits ne sont plus proposées. Aucune de ces deux voies ne rend les noms alternatifs faciles, c'est pourquoi une commande est souvent la route la plus simple.

En créer une sans navigateurMicrosoft Learn · Apple Support

certreqWindows Server et IIS

certreq lit un fichier texte brut et écrit la demandecertreq -new request.inf request.req
request.inf
[NewRequest]Subject = "CN=example.com"KeyAlgorithm = RSAKeyLength = 2048HashAlgorithm = sha256RequestType = PKCS10[Extensions]2.5.29.17 = "{text}"_continue_ = "DNS=example.com&"_continue_ = "DNS=www.example.com"

Les noms alternatifs : une extension désignée par son OID, un nom par ligne

Définissez vous-même le hachage : l'exemple de Microsoft est écrit autour de SHA-1, qu'une autorité de certification refuse

Il n'existe pas de clé SAN=

Keychain AccessmacOS

Trousseaux d'accès en écrit une depuis l'Assistant de certification
  1. Keychain Access
  2. Certificate Assistant
  3. Request a Certificate From a Certificate Authority
Votre Mac nomme ces menus dans sa propre langue

Let me specify key pair information

Le type et la taille de la clé se cachent derrière cette caseRSA jusqu'à 4096 ; en dessous de 2048, plus proposé
Les deux voies créent la clé sur votre propre machine, et c'est ce qui compte. Aucune ne rend les noms alternatifs faciles, c'est pourquoi une commande est souvent la route la plus simple.

Un générateur de CSR en ligne est-il sûr ?

Tout dépend de l'endroit où la clé est créée. Une page qui la crée dans votre navigateur est sûre ; une page qui la crée sur son serveur a eu accès à votre clé privée.

Le test est simple et vous pouvez le faire vous-même : ouvrez le panneau réseau de votre navigateur, générez une demande et observez. Si la clé est créée sur la page, ni elle ni rien de ce que vous avez saisi ne sort : ici, les seules requêtes sont celles de la page elle-même et de deux listes de noms publiques, les mêmes pour chaque visiteur. Si une requête part et qu'une clé revient, cette clé existait d'abord ailleurs, et selon la définition même du secteur elle est compromise avant même que vous l'ayez installée.

Cette page fait tout son travail dans le navigateur : la paire de clés vient de crypto.subtle.generateKey dans un cadre isolé qui n'a le droit de se connecter nulle part, la page écrit la demande autour de la clé publique, et le cadre la signe une fois avec la clé privée, qui ne le quitte jamais. Les deux fichiers apparaissent dans votre navigateur et nulle part ailleurs. Si vous préférez ne faire confiance à aucune page web pour cela, la commande OpenSSL de cette page fait la même chose sur votre propre machine — nous l'affichons précisément pour cette raison.

Le panneau réseau, pendant la création d'une cléOutils de développement › Réseau

Cette page

RequêteCe qu'elle transporte
GETtlds.jsonLa liste des domaines de premier niveau — la même pour chaque visiteur
GETsuffixes.jsonLa liste des suffixes publics — la même pour chaque visiteur

Rien de ce que vous avez saisi, et aucune clé, ne quitte la page

Un générateur qui crée la clé sur son serveur

RequêteCe qu'elle transporte
POST…/generateVos noms et vos informations
200-----BEGIN PRIVATE KEY-----Une clé privée, créée ailleurs

Une clé revient par le réseau : elle existait d'abord ailleurs

Essayez : ouvrez les outils de développement de votre navigateur sur l'onglet Réseau et générez une demande. Hormis le code de la page elle-même, elle récupère deux listes publiques, les mêmes pour chaque visiteur ; la clé est créée par la cryptographie propre à votre navigateur, dans un cadre qui n'a pas le droit de se connecter.

Générateur de CSR : questions et réponses

Comment créer un CSR ?

Saisissez les noms d'hôte que le certificat doit couvrir, choisissez un type de clé — ECDSA P-256 est le choix raisonnable par défaut — et appuyez sur le bouton. Deux fichiers en sortent : la demande de signature de certificat à envoyer à votre autorité de certification, et la clé privée à conserver. Tout se passe dans votre navigateur : rien n'est envoyé, rien n'est enregistré.

Est-il sûr de générer un CSR en ligne ?

Cela dépend de l'endroit où la clé est créée. Si la page la crée sur son propre serveur, ce serveur a eu accès à votre clé privée, ce que la définition du CA/Browser Forum appelle une compromission. Si la page la crée dans votre navigateur, la clé ne le quitte jamais. Celle-ci fait la seconde chose, et vous pouvez le confirmer : ouvrez votre panneau réseau et observez pendant que vous en générez une.

Quel type de clé choisir ?

ECDSA P-256 pour tout ce qui est nouveau. Le NIST lui attribue la même force de 128 bits qu'à une clé RSA de 3072 bits, et elle est bien plus petite, si bien que chaque négociation coûte moins. Choisissez RSA 2048 quand un ancien équipement ou un répartiteur de charge l'exige. RSA 4096 n'apporte rien de documenté par rapport à 3072, et Let's Encrypt n'accepte pas P-521 alors même que les règles l'autorisent.

Puis-je utiliser une clé Ed25519 pour un certificat public ?

Non, aucune autorité de certification publique n'émet pour cette clé. Les Baseline Requirements listent RSA et les courbes P-256, P-384 et P-521, puis ajoutent qu'« aucun autre algorithme ni taille de clé n'est autorisé ». Ed25519 est proposée ici parce qu'elle convient à SSH, à la signature et à une AC privée — mais une commande TLS publique avec elle sera refusée.

À quoi sert le fichier de la clé privée ?

C'est la moitié de la paire qui prouve que le certificat est à vous, et elle ne va jamais à personne. Sauvegardez-la à côté de la demande : vous en aurez besoin pour installer le certificat que l'AC renverra, et sans elle le certificat est inutile. Si vous la perdez, le seul remède est une nouvelle clé, une nouvelle demande et un nouveau certificat.

Dois-je renseigner l'organisation et le pays ?

Seulement pour un certificat à validation d'organisation ou à validation étendue, et même alors l'AC doit les valider elle-même avant qu'ils entrent dans un certificat. Pour un certificat à validation de domaine, les règles n'autorisent dans le sujet que le pays et le nom commun — tout le reste ne doit pas y figurer. Le générateur signale les deux champs qu'une AC publique supprime ou interdit : l'unité organisationnelle et l'adresse e-mail.

Pourquoi le champ Unité organisationnelle m'avertit-il ?

Parce que OU est interdit dans un certificat TLS public. Selon le vote SC047 du CA/Browser Forum, aucun certificat TLS public émis depuis le 1er septembre 2022 ne peut le contenir ; les autorités de certification le suppriment donc de la commande plutôt que de la refuser. Ce générateur propose quand même le champ, pour les AC privées, et vous dit ce que fera une AC publique.

Puis-je mettre plusieurs domaines dans un CSR ?

Oui — c'est à cela que servent les noms alternatifs du sujet, et c'est ainsi que se commande un certificat multi-domaine ou SAN. Ajoutez chaque hôte que le certificat doit couvrir, y compris la forme www si vous la voulez. Vous pouvez mélanger wildcards et noms simples, et ajouter des adresses IP, même si toutes les AC ne vendent pas de certificat pour une adresse.

Puis-je réutiliser un CSR ou une clé pour le certificat suivant ?

Vous le pouvez : les règles disent qu'une demande peut servir pour plusieurs certificats du même demandeur. La raison de ne pas le faire, c'est l'étendue des dégâts. Si cette clé est un jour compromise, tous les certificats qui la portent doivent être révoqués dans les 24 heures, et la clé ne pourra plus jamais être certifiée par une AC qui en a été informée. En générer une nouvelle prend une seconde.

Qu'est-ce qu'un mot de passe de défi ?

Un attribut facultatif de la RFC 2985, conçu comme un secret partagé que vous citeriez plus tard pour demander une révocation. Il est encore utilisé par l'inscription d'appareils SCEP, et certains services de certificats Microsoft en demandent un. Il ne joue aucun rôle dans une commande de certificat web ordinaire : laissez-le vide, sauf si votre AC vous l'a expressément demandé.

Cela fonctionne-t-il pour un certificat wildcard ?

Oui. Mettez *.example.com dans les noms, et ajoutez aussi example.com si vous voulez couvrir le domaine nu — un wildcard remplace exactement une étiquette et ne correspond pas au nom sous lequel il se trouve. L'astérisque doit constituer toute l'étiquette la plus à gauche, et aucune AC n'émettra de wildcard sur un suffixe public comme *.co.uk.

Que faire des fichiers ensuite ?

Envoyez la demande à votre autorité de certification et gardez la clé privée en lieu sûr, lisible par vous seul (droits 600 sous Linux et macOS). Quand le certificat revient, collez-le avec la demande dans le décodeur CSR pour confirmer qu'ils partagent une clé avant de redémarrer quoi que ce soit : une clé qui ne correspond pas à son certificat est une erreur qu'il vaut mieux repérer avant votre serveur.

Il vous manque quelque chose ?Suggérez une fonction ou un nouvel outil