bg-tutorials

Comment générer une CSR dans IIS

Ce guide vous montre comment générer une CSR (Certificate Signing Request) sur Microsoft IIS (Internet Information Services) sous Windows Server. Vous pouvez créer la requête de deux manières : via l’interface graphique de IIS Manager (l’assistant classique point-and-click), ou avec certreq.exe et un fichier INF depuis PowerShell. Les deux méthodes conservent la clé privée sur le serveur dans le magasin de certificats Windows et produisent une requête PKCS #10 que vous soumettez à votre autorité de certification.

Un point important à connaître dès le départ : l’assistant IIS Manager n’ajoute pas de Subject Alternative Name (SAN) à la requête, et chaque autorité de certification publique exige désormais que le nom d’hôte apparaisse dans le SAN, et non uniquement dans le Common Name. Si vous avez besoin d’un SAN (et c’est presque toujours le cas), utilisez la méthode certreq.exe plus bas, ou générez la CSR hors serveur avec notre Générateur de CSR et importez le certificat émis sous forme de fichier .pfx.

Connectez-vous en tant qu’administrateur sur le Windows Server que vous souhaitez sécuriser (ou sur un poste de travail exécutant un site IIS), puis suivez la section correspondant à votre version d’IIS. Les étapes ci-dessous couvrent IIS 10 sous Windows Server 2025, 2022, 2019 et 2016 (ainsi que IIS 10 sous Windows 10 et Windows 11 client), ainsi que les anciens assistants IIS 8 / 8.5 / 7 / 6 pour les infrastructures héritées.

Générer une CSR sur IIS 10 (Windows Server 2016 à 2025)

IIS 10 est la version fournie avec Windows Server 2016, 2019, 2022 et 2025, ainsi que la fonctionnalité IIS sous Windows 10 et Windows 11 client. L’interface du gestionnaire est identique sur toutes les versions.

Étape 1 : Ouvrir IIS Manager

  • Appuyez sur Win + R, saisissez inetmgr, puis appuyez sur Entrée, ou
  • Ouvrez le menu Démarrer et recherchez Internet Information Services (IIS) Manager.

Étape 2 : Ouvrir Server Certificates

  • Dans le panneau Connections à gauche, cliquez sur le nom du serveur.
  • Dans le panneau central (Home), double-cliquez sur Server Certificates.

Étape 3 : Démarrer la demande de certificat

Dans le panneau Actions à droite, cliquez sur Create Certificate Request. La boîte de dialogue Distinguished Name Properties s’ouvre.

Étape 4 : Remplir le Distinguished Name

Saisissez les détails du sujet ci-dessous. N’utilisez que des caractères ASCII standard ; les lettres non latines invalident la requête :

  • Common Name : le nom de domaine pleinement qualifié (FQDN) que vous souhaitez sécuriser, par exemple www.example.com. Pour un certificat wildcard, ajoutez un astérisque devant le domaine racine, par exemple *.example.com.
  • Organization : le nom légal complet de votre entreprise, exactement tel qu’enregistré. Requis pour les certificats OV et EV. Pour les certificats à validation de domaine (DV), ce champ est ignoré, donc n’importe quel texte de remplissage court convient.
  • Organizational unit : une étiquette de service telle que IT ou Web. Cet attribut est déprécié pour les certificats publics (le CA/Browser Forum l’a progressivement supprimé), donc laissez-le minimal ou omettez-le si la boîte de dialogue le permet.
  • City/locality : la ville où votre organisation est enregistrée, écrite en entier (par exemple Seattle, et non SEA).
  • State/province : le nom complet de l’État ou de la province (par exemple Washington, et non WA).
  • Country/region : le code pays ISO à deux lettres (par exemple US, GB, DE).

Vérifiez chaque champ et cliquez sur Next.

Étape 5 : Choisir le fournisseur de services cryptographiques et la longueur de clé

Dans la boîte de dialogue Cryptographic Service Provider Properties :

  • Cryptographic service provider : sélectionnez Microsoft RSA SChannel Cryptographic Provider. C’est le bon choix pour un certificat RSA servi par IIS via HTTPS. (Choisissez Microsoft DH SChannel Cryptographic Provider uniquement dans le cas rare où vous avez besoin d’une clé Diffie-Hellman, qui n’est pas utilisée pour le TLS web classique.)
  • Bit length : sélectionnez 2048. C’est le minimum actuel accepté par toutes les autorités de certification publiques. Choisissez 3072 ou 4096 uniquement si votre politique exige une clé plus grande ; l’inconvénient est une négociation TLS légèrement plus lente.

Cliquez sur Next.

Étape 6 : Enregistrer le fichier CSR

Dans la boîte de dialogue File Name, cliquez sur le bouton de parcours et choisissez un dossier que vous pourrez retrouver facilement, puis saisissez un nom de fichier avec l’extension .txt, par exemple certreq.txt. N’acceptez pas le chemin par défaut C:WindowsSystem32 : ce dossier est peu pratique à parcourir et vous pourriez ne pas avoir les droits d’écriture selon le contrôle de compte utilisateur (UAC). Le Bureau ou un dossier dédié C:certs fonctionne mieux.

Cliquez sur Finish. IIS écrit la CSR à l’emplacement choisi et stocke la clé privée correspondante comme demande en attente dans le magasin de certificats Windows de ce serveur.

Étape 7 : Copier la CSR et la soumettre à l’autorité de certification

Ouvrez le fichier enregistré dans le Bloc-notes (ou tout autre éditeur de texte). Vous verrez un bloc comme celui-ci :

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDXjCCAkYCAQAwgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9u
... (many lines of base64) ...
-----END NEW CERTIFICATE REQUEST-----

Sélectionnez tout le bloc, y compris les lignes BEGIN NEW CERTIFICATE REQUEST et END NEW CERTIFICATE REQUEST, copiez-le, puis collez-le dans le champ CSR de votre formulaire de commande. Lorsque l’autorité de certification valide la requête et émet votre certificat, suivez comment installer un certificat SSL sur IIS et utilisez Complete Certificate Request pour associer le fichier .cer émis avec la clé en attente sur ce serveur.

L’assistant IIS Manager n’ajoute pas de SAN

L’assistant ci-dessus produit une requête dont le seul nom d’hôte est le Common Name. Les navigateurs et clients modernes (Chromium, Firefox, Safari, .NET, Java, Go) valident uniquement le nom d’hôte par rapport à l’extension Subject Alternative Name ; le Common Name est ignoré pour les décisions de confiance depuis 2017. Les autorités de certification publiques réagissent en copiant automatiquement le CN dans une entrée SAN pour les commandes à nom unique, donc une requête CN uniquement fonctionne encore pour un seul nom d’hôte. Mais :

  • Si vous avez besoin de plusieurs noms d’hôte sur un même certificat (par exemple example.com et www.example.com, ou un certificat multi-domaines), l’assistant IIS Manager ne peut pas les encoder.
  • Si votre autorité de certification accepte les requêtes strictement telles que soumises, un SAN manquant peut être rejeté même pour un seul nom d’hôte.

Pour tout ce qui dépasse un nom unique, utilisez la méthode certreq.exe ci-dessous, ou générez la CSR avec notre Générateur de CSR et importez le certificat émis dans IIS sous forme de .pfx.

Générer une CSR avec certreq.exe et un fichier INF (compatible SAN)

L’outil en ligne de commande certreq.exe est fourni avec chaque Windows Server et vous permet de spécifier un SAN, la longueur de clé, le sujet exact et le fournisseur. Le processus comporte trois parties : rédiger un fichier INF de requête, exécuter certreq -new pour générer la CSR (ainsi que la clé correspondante dans le magasin Windows), puis soumettre la CSR à votre autorité de certification.

Étape 1 : Créer le fichier INF de requête

Ouvrez le Bloc-notes en tant qu’administrateur et enregistrez le fichier ci-dessous sous le nom request.inf. Modifiez la ligne Subject et les entrées DNS sous [Extensions] pour correspondre à votre domaine :

[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=www.example.com, O=Example Inc, L=Seattle, S=Washington, C=US"
KeySpec = 1
KeyLength = 2048
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0

[EnhancedKeyUsageExtension]
OID = 1.3.6.1.5.5.7.3.1

[Extensions]
2.5.29.17 = "{text}"
_continue_ = "dns=www.example.com&"
_continue_ = "dns=example.com"

Notes sur les valeurs :

  • Subject : une seule ligne, champs séparés par des virgules. Utilisez le code pays ISO à deux lettres dans C=.
  • KeyLength : 2048 minimum. Réglez sur 3072 ou 4096 si votre politique l’exige.
  • Exportable = TRUE : permet d’exporter la clé privée avec le certificat émis (pour une sauvegarde ou pour l’installation sur un second serveur). Réglez sur FALSE si vous souhaitez que la clé reste verrouillée sur cette machine.
  • MachineKeySet = TRUE : stocke la clé dans le magasin de l’ordinateur local (là où IIS effectue ses lectures). Laissez cette option activée pour IIS.
  • 2.5.29.17 : l’OID pour le Subject Alternative Name. Ajoutez une ligne _continue_ par nom d’hôte ; chaque ligne sauf la dernière doit se terminer par le séparateur &.

Étape 2 : Générer la CSR

Ouvrez une invite de commandes ou PowerShell en mode élevé dans le dossier contenant request.inf et exécutez :

certreq -new request.inf certreq.txt

certreq génère la clé privée dans le magasin de l’ordinateur local et écrit la requête PKCS #10 dans certreq.txt. Ouvrez le fichier, copiez le bloc complet de BEGIN NEW CERTIFICATE REQUEST à END NEW CERTIFICATE REQUEST, et soumettez-le sur votre formulaire de commande, de la même manière que pour la méthode IIS Manager.

Lorsque l’autorité de certification renvoie le certificat émis, finalisez avec :

certreq -accept certnew.cer

Cela associe le certificat émis à la clé privée qui attendait dans le magasin, et le certificat devient disponible pour être lié dans IIS.

Vérifier la CSR avant de la soumettre (facultatif)

Il est utile de confirmer le Common Name, les entrées SAN et la taille de la clé avant d’envoyer la requête à votre autorité de certification. Sur le serveur, l’outil intégré certutil lit la requête :

certutil -dump certreq.txt

Si vous avez OpenSSL installé (Windows ne le fournit pas par défaut ; vous pouvez l’installer séparément à partir d’une compilation telle que Shining Light Productions), cette commande affiche les mêmes détails :

openssl req -noout -text -in certreq.txt

Vous préférez un outil en ligne ? Collez le contenu de la requête dans le décodeur de CSR de SSL Dragon pour relire le Common Name, les entrées SAN et la taille de la clé. Confirmez que le Common Name correspond au nom d’hôte que les clients utiliseront et que chaque nom requis apparaît dans la liste Subject Alternative Name.

Générer une CSR sur IIS 8 et 8.5 (Windows Server 2012 / 2012 R2)

L’assistant IIS 8 / 8.5 est identique à celui d’IIS 10. Windows Server 2012 et 2012 R2 ont atteint la fin du support étendu en octobre 2023, prévoyez donc de migrer ces charges de travail vers une version récente de Windows Server ; en attendant, les étapes ci-dessous fonctionnent toujours.

  • Appuyez sur Win + R, saisissez inetmgr, et cliquez sur OK. (Vous pouvez aussi ouvrir Internet Information Services (IIS) Manager depuis l’écran Démarrer.)
  • Dans Connections, sélectionnez le serveur, puis double-cliquez sur Server Certificates dans le panneau Home.
  • Dans Actions, cliquez sur Create Certificate Request.
  • Dans Distinguished Name Properties, remplissez Common Name, Organization, Organizational unit, City/locality, State/province et Country/region exactement comme décrit pour IIS 10 ci-dessus (caractères ASCII standard uniquement, noms complets d’État et de ville, code pays à deux lettres). Cliquez sur Next.
  • Dans Cryptographic Service Provider Properties, sélectionnez Microsoft RSA SChannel Cryptographic Provider et réglez Bit length sur 2048. Cliquez sur Next.
  • Dans File Name, choisissez un dossier que vous pourrez retrouver et enregistrez le fichier avec l’extension .txt (par exemple certreq.txt). Cliquez sur Finish.
  • Ouvrez le fichier enregistré dans le Bloc-notes, copiez tout le bloc de BEGIN NEW CERTIFICATE REQUEST à END NEW CERTIFICATE REQUEST, et collez-le dans votre formulaire de commande.

La même limitation concernant le SAN s’applique sur IIS 8 / 8.5 : si vous avez besoin de plusieurs noms d’hôte, utilisez la méthode certreq.exe ci-dessus.

Générer une CSR sur IIS 7 (Windows Server 2008 / 2008 R2)

Windows Server 2008 et 2008 R2 sont depuis longtemps en fin de support, considérez donc l’assistant IIS 7 comme une procédure héritée pour les systèmes que vous ne pouvez pas encore remplacer. Le processus est identique à celui d’IIS 8 / 10 :

  • Appuyez sur Win + R, saisissez inetmgr, et cliquez sur OK, ou ouvrez Démarrer > Outils d’administration > Internet Information Services (IIS) Manager.
  • Dans Connections, sélectionnez le nom du serveur, puis double-cliquez sur Server Certificates.
  • Dans Actions, cliquez sur Create Certificate Request.
  • Dans Distinguished Name Properties, saisissez Common Name, Organization, Organizational unit, City/locality, State/province et Country/region comme décrit pour IIS 10. Cliquez sur Next.
  • Dans Cryptographic Service Provider Properties, choisissez Microsoft RSA SChannel Cryptographic Provider et 2048 bits. Cliquez sur Next.
  • Cliquez sur le bouton de parcours sous Specify a file name for the certificate request, choisissez un dossier, saisissez un nom de fichier se terminant par .txt, et cliquez sur Finish.
  • Ouvrez le fichier enregistré dans le Bloc-notes, copiez le bloc complet de la requête (y compris les lignes BEGIN NEW CERTIFICATE REQUEST et END NEW CERTIFICATE REQUEST), et collez-le dans votre formulaire de commande.

Générer une CSR sur IIS 5 et 6 (déprécié)

IIS 5 et 6 (Windows 2000 Server et Windows Server 2003) sont depuis longtemps en fin de support et ne devraient pas héberger de sites publics. N’utilisez cette section que si vous maintenez une infrastructure héritée que vous ne pouvez pas encore remplacer :

  • Ouvrez Démarrer > Panneau de configuration > Outils d’administration > Internet Information Services.
  • Faites un clic droit sur Default Web Site (ou votre site) et choisissez Properties.
  • Ouvrez l’onglet Directory Security et cliquez sur Server Certificate.
  • Dans IIS Certificate Wizard, sélectionnez Create a new certificate et cliquez sur Next.
  • Sélectionnez Prepare the request now, but send it later et cliquez sur Next.
  • Saisissez un nom descriptif pour le certificat, réglez Bit length sur 2048, laissez les autres cases décochées, et cliquez sur Next.
  • Saisissez le nom légal de l’organisation et une unité organisationnelle (utilisez un libellé court tel que IT). Cliquez sur Next.
  • Dans Common Name, saisissez le FQDN de votre site, par exemple www.example.com. Cliquez sur Next.
  • Remplissez Country/region, State/province et City/locality, puis cliquez sur Next.
  • Choisissez un dossier et un nom de fichier (enregistrez au format .txt), cliquez sur Next, vérifiez le résumé, et cliquez à nouveau sur Next pour écrire la CSR.
  • Ouvrez le fichier dans le Bloc-notes, copiez le bloc complet de la requête, et collez-le dans votre formulaire de commande.

Une fois que l’autorité de certification a validé votre CSR et émis le certificat, poursuivez avec les instructions d’installation SSL sur IIS.

Economisez 10% sur les certificats SSL en commandant aujourd’hui!

Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10

Image détaillée d'un dragon en vol
Rédigé par

Rédacteur de contenu expérimenté spécialisé dans les certificats SSL. Transformer des sujets complexes liés à la cybersécurité en un contenu clair et attrayant. Contribuer à l'amélioration de la sécurité numérique par des récits percutants.