Installation d'un Certificat sur IIS (Windows) Création PFX

De Ikoula Wiki
Jump to navigation Jump to search

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é.