Installation d'un Certificat sur IIS (Windows) Création PFX
Introduction
Ce document explique comment installer un certificat SSL sur un serveur Windows IIS à partir des fichiers fournis par une autorité de certification, en passant par la création d’un fichier PFX et son installation dans IIS.
La création du fichier PFX peut être réalisée localement sur n’importe quel poste (Windows + WSL ou Linux). Une fois le fichier PFX généré, il suffit de le copier sur le serveur web IIS pour procéder à l’importation du certificat.
Pré-requis
Serveur Windows avec IIS installé
Accès administrateur
WSL avec OpenSSL installé pour générer le PFX (consulter l’étape 13)
Fichiers nécessaires
Normalement, le client reçoit 3 fichiers :
- Certificat serveur :
www_domaine_tld.crt - Certificats intermédiaires / racine :
DigiCertCA.crt,TrustedRoot.crt
Il doit également posséder la clé privée et la fournir :
- Clé privée :
private.key
Il faut également créer un fichier chain.crt (voir l’étape 2).
Organisation des fichiers
Exemple de dossier :
C:/Users/USERNAME/Downloads/CERTIFICAT_SSL
Contenu du dossier
private.key
www_domaine_tld.crt
DigiCertCA.crt
TrustedRoot.crt
Étape 1 : Vérifier la correspondance clé / certificat
Depuis l’invite de commandes (cmd), entrer dans WSL :
wsl
Si nécessaire, obtenir les droits administrateur dans WSL :
sudo su
Exécuter ensuite les commandes suivantes pour vérifier que la clé privée correspond bien au certificat. Ces commandes doivent être exécutées dans le dossier où se trouvent les certificats et la clé privée :
openssl rsa -noout -modulus -in private.key | openssl md5 openssl x509 -noout -modulus -in www_domaine_tld.crt | openssl md5
Les deux valeurs doivent être identiques.
Étape 2 : Créer la chaîne de certificats
Créer un fichier chain.crt contenant les certificats intermédiaires, sur le même dossier.
Exemple de contenu :
-----BEGIN CERTIFICATE----- (contenu de DigiCertCA.crt) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- (contenu de TrustedRoot.crt) -----END CERTIFICATE-----
Étape 3 : Créer le fichier PFX
Depuis l’invite de commandes (cmd), naviguer dans le dossier contenant les fichiers puis lancer WSL.
Dans WSL, se placer dans le dossier (exemple) :
cd /mnt/c/Users/USERNAME/Downloads/CERTIFICAT_SSL
Créer ensuite le fichier PFX (adapter avec les noms des fichiers reçus de l’autorité de certification). Lors de cette étape, OpenSSL demandera de définir un mot de passe pour protéger le fichier PFX. Ce mot de passe sera nécessaire lors de l’importation du PFX dans IIS.
openssl pkcs12 -export \ -out domaine.pfx \ -inkey private.key \ -in www_domaine_tld.crt \ -certfile chain.crt
Explication simple ligne par ligne
openssl pkcs12 -export → On demande à OpenSSL de créer un fichier PKCS#12 (.pfx).
-out domaine.pfx → Nom du fichier PFX qui sera généré.
-inkey private.key → La clé privée du certificat.
-in www_domaine_tld.crt → Le certificat principal du domaine.
-certfile chain.crt → La chaîne de certificats (intermédiaires + racine).
Résumé
Cette commande assemble tout ce qui est nécessaire pour qu’IIS puisse importer ton certificat SSL dans un seul fichier .pfx.
Étape 4 : Importer le certificat dans IIS
Dans IIS :
Ouvrir IIS
Aller dans Certificats
Cliquer sur Importer
Importer le fichier domaine.pfx dans Personnel/Web Hosting > Certificats
Étape 5 : Lier le certificat au site IIS
Ouvrir IIS (inetmgr)
Aller dans Sites et sélectionner le site
Cliquer sur Liaisons…
Ajouter ou modifier une liaison HTTPS
Configurer :
Type : https
Port : 443
Nom d’hôte : www.domaine.tld (si nécessaire)
Certificat SSL : sélectionner le certificat importé
Étape 6 : Redémarrer IIS
Exécuter :
iisreset
Vérifications
Tester : https://www.domaine.tld
Vérifier la configuration via :
https://www.ssllabs.com/ssltest/
Installer OpenSSL sous Windows
La méthode recommandée par Microsoft pour utiliser OpenSSL sous Windows est de passer par WSL (Windows Subsystem for Linux).
1. Installer WSL
Ouvrir PowerShell en administrateur puis exécuter :
wsl --install
Cette commande installe automatiquement :
- WSL
- Ubuntu (distribution Linux par défaut)
Redémarrer Windows si demandé.
2. Installer OpenSSL dans WSL
Une fois Ubuntu installé, lancer :
sudo apt update sudo apt install openssl
Vérifier l'installation :
openssl version
3. Utiliser OpenSSL depuis PowerShell
Il est possible d'exécuter OpenSSL directement depuis PowerShell en utilisant le préfixe wsl :
wsl openssl version
Exemple pour créer un fichier PFX :
Ces commandes doivent être exécutées dans le dossier où se trouvent les certificats et la clé privée :
Pour le fichier chain.crt consulter Étape 2 :
wsl openssl pkcs12 -export \ -out domaine.pfx \ -inkey private.key \ -in www_domaine_tld.crt \ -certfile chain.crt
Conclusion
La création et l’installation d’un certificat au format PFX sur IIS permettent de sécuriser efficacement un site web sous Windows. Cette méthode regroupe le certificat et sa clé privée dans un seul fichier, simplifiant l’importation et la gestion. Une fois le certificat associé au site, les communications sont chiffrées et conformes aux bonnes pratiques de sécurité.