Comment créer un certificat auto-signé avec IIS ?

Comment créer un certificat auto-signé avec IIS ?

I. Présentation

L’utilisation d’un serveur Web, que ce soit avec Apache, Nginx ou IIS, s’accompagne souvent de la création d’un certificat SSL, soit par l’intermédiaire de l’autorité de certification de l’entreprise, soit avec un certificat auto-signé que l’on va approuver ensuite sur nos postes clients.

Dans ce tutoriel, je vais vous expliquer comment créer un certificat auto-signé avec IIS et PowerShell. Et oui, nous n’utiliserons pas du tout l’interface graphique !

Procédure réalisée sur Windows Server 2016, très certainement compatible Windows Server 2012 R2 et Windows Server 2019.

II. Installation du rôle IIS

Si la fonctionnalité IIS n’est pas installée sur votre serveur, alors vous pouvez l’installer avec la commande PowerShell suivante :

Install-WindowsFeature -Name "Web-Server" -IncludeManagementTools

Les options par défaut seront intégrées à l’installation de IIS. Si l’installation est un succès, continuez ! 🙂

III. Générer le certificat auto-signé

Nous allons définir le domaine pour lequel nous allons générer le certificat dans la variable $Server. Ce certificat sera d’ailleurs valide 1 an, mais si cela ne vous convient pas, vous pouvez le générer pour 3 ans par exemple. Dans ce cas, utilisez les deux commandes ci-dessous ($DateToday et $DateIn3Y).

$Server = "serveurweb.it-connect.local"
$DateToday = Get-Date
$DateIn3Y = $DateToday.AddYears(3)

Exécutez la commande ci-dessous pour créer le certificat :

New-SelfSignedCertificate -DnsName $Server -CertStoreLocation "cert:\LocalMachine\My" -FriendlyName $Server -NotAfter $DateIn3Y

Le cmdlet New-SelfSignedCertificate contient le paramètre « NotAfter » que vous devez retirer si vous souhaitez un certificat seulement sur un an. Via le paramètre CertStoreLocation, on précise que le certificat doit être stocké dans le magasin personnel de l’ordinateur.

IV. Exporter et importer le certificat

Le certificat étant en votre possession : vous avez besoin de l’exporter et de l’importer sur une autre machine ? Je vous explique comment procéder. Nous allons voir comment l’importer dans le magasin de certificats et aussi approuver le serveur IIS qui génère le certificat en tant que racine de confiance.

Pour cela, nous allons commencer par récupérer l’empreinte du certificat (1ère commande) avant de l’exporter et de l’importer.

Le mot de passe pour l’export sera « MyCertByIIS» et les fichiers exportés à la racine de « C » dans le dossier « Export ».

Saisissez les commandes ci-dessous sans modification :

$CertThumbprint = (Get-ChildItem -path cert:\LocalMachine\My | Where $_.Subject -match $Server ).Thumbprint
$CertPwd = ConvertTo-SecureString -String "MyCertByIIS" -Force –AsPlainText

Phase d’export

Pour l’export au format Pfx qui inclus le certificat et sa clé privée, on s’appuie sur Export-PfxCertificate alors que pour le certificat .CER ce sera avec la commande Export-Certificate.

Export-PfxCertificate -Cert cert:\LocalMachine\My\$CertThumbprint -FilePath C:\Export\MyCert.pfx -Password $CertPwd
Export-Certificate -Cert Cert:\LocalMachine\My\$CertThumbprint -FilePath C:\Export\MyCert.cer

Phase d’import

Pour l’importation au format Pfx dans les racines de confiance, il faut utiliser le chemin suivant : Cert:\LocalMachine\Root.

Import-Certificate -FilePath C:\Export\MyCert.cer -CertStoreLocation Cert:\LocalMachine\My\
Import-PfxCertificate -FilePath C:\Export\MyCert.pfx -Password $CertPwd -CertStoreLocation Cert:\LocalMachine\Root

Grâce aux différentes commandes ci-dessus, vous êtes en mesure de générer un certificat auto-signé avec PowerShell en quelques minutes !

Hébergez votre site à partir de 2$ sur 👉👉👉 https://www.tnctech.ca

À propos Santana

Analyste en cybersécurité avec 5 ans d'expérience dans la protection des systèmes d'information contre les menaces et les attaques. Expertise dans la surveillance des réseaux, l'analyse des vulnérabilités, et la gestion des incidents de sécurité. Passionnée par l'innovation technologique et la mise en œuvre de solutions de sécurité robustes pour protéger les données sensibles et assurer la conformité réglementaire.

Vérifiez également

Comment installer PHP 8 sur IIS 10 ?

Comment installer PHP 8 sur IIS 10 ?

Table de Matieres1 I. Présentation2 II. IIS : installation de PHP via Web Platform Installer3 …

Restrictions par adresse IP avec IIS 10

Restrictions par adresse IP avec IIS 10

Table de Matieres1 I. Présentation1.1 A. Principe1.2 B. A quel niveau sont définies les restrictions …

Installer et configurer IIS 10 sur Windows Server 2022

Installer et configurer IIS 10 sur Windows Server 2022

Table de Matieres1 I. Présentation2 II. Installation de IIS sur Windows Server 20223 III. Configuration …

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.