Depuis bien longtemps les certificats SSL web étaient uniquement accessibles après payement. C’est dorénavant de l’histoire ancienne depuis décembre 2015, grâce à l’arrivée de Let’s Encrypt.
C’est quoi Let’s Encrypt
Fondée par l’association de la Mozilla et de Cisco, l’initiative Let’s Encrypt a pour objectif de rendre le web plus sûr en fournissant gratuitement des certificats SSL à tous ceux qui en auraient besoin. Elle prend la forme d’une Autorité de certificat ouverte, gratuite et automatisée.
L’obtention d’un certificat s’effectue à l’aide du protocole ACME (Automatic Certificate Management Environment). Ce dernier permet de vérifier que vous êtes bien le propriétaire du domaine souhaité. Let’s encrypt fournit l’ensemble des outils requis mais uniquement pour l’environnement Linux. Il faut donc se tourner vers des solutions alternatives et plus précisément le projet open source letsencrypt-win-simple.
Prérequis
Pour le bon fonctionnement de la procédure vous devez configurer les liaisons (Bindings) avec un nom d’hôte explicite.
Votre site doit aussi être accessible depuis l’extérieur.
Procédure pas à pas
Rendez-vous sur https://github.com/Lone-Coder/letsencrypt-win-simple/releases et téléchargez le zip de la dernière version (v1.7 lors de la rédaction de cette article).

Le programme va lire les configurations IIS et énumèrera la liste des domaines issue des Binding. Ici trois domaines ont été détectés.
Vous aurez le choix de configurer un domaine particulier ou tous les domaines en même temps. Ici nous choisirons la première option.

Si cette erreur survient, rendez-vous dans IIS (Internet information Service) dans “Mappages de gestionnaires” puis cliquez sur “Afficher une liste triée” dans la listes des actions.


Localisez la ligne “StaticFile” et faites la remonter au-dessus des 3 lignes “ExtentionlessUrlHandler”.

Vous pouvez alors relancer letsencrypt. exe toujours avec les droits administrateur. Choisissez un domaine de la liste. Cette fois le processus devrait fonctionner jusqu’au bout.

Il faut noter qu’une tâche est ajoutée au planificateur de taches Windows qui s’occupera de mettre à jour le certificat afin que celui-ci soit toujours valide.
Conclusion
Grâce à Let’s Encrypt et la communauté GitHub il n’y a plus aucune raison pour ne pas proposer à vos utilisateurs un accès sécurisé par certificat.

Pour aller plus loin
Protocole ACME : https://letsencrypt.github.io/acme-spec/
ACMESharp : https://github.com/ebekker/ACMESharp
Letsencrypt-win-simple : https://github.com/Lone-Coder/letsencrypt-win-simple