SSL – Outil : mkcert
Contexte :
- On reste sur environnement Windows.
- Fenêtre de terminal, CMD, shell, PowerShell… C’est tout le même chose. Veuillez à bien être élevé en tant qu’administrateur avec ces outils.
- PowerShell est à jour.
- Appel de la fenêtre du terminal avec la combinaison des touches :
Win+X>A. - Il est préférable de conserver ouvert la même fenêtre de terminal tout au long de la procédure.
- Pour nettoyer le terminal, la commande est
clean. - Lorsque vous lancerez un terminal, notez bien l’emplacement d’où est lancé cette fenêtre. L’information se trouve en début de chaque nouvelle commande.
Exemple chez moi : C:\User\Gotcha
Vérification
Nous aller vérifier la présence éventuelle du composant mkcert sur votre PC.
PowerShell
mkcert --version
Si mkcert est installé, cela affichera la version de mkcert. Sinon, vous recevrez une erreur indiquant que la commande n’est pas reconnue.
Si c’est déjà installé, sautez à l’étape 4.
Installation de mkcert
-
Installer « Chocolatey »
Chocolatey est un gestionnaire de paquets pour Windows d’on mkcert fait parti.
Pour d’autres installations, suivez les instructions du dépôt officiel.
PowerShell
Set-ExecutionPolicy Bypass -Scope Process -Force; `
[System.Net.ServicePointManager]::SecurityProtocol = `
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; `
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
-
Installer mkcert via Chocolatey
PowerShell
choco install mkcert
Confirmez si demandé (par exemple en tapant A pour [Yes to All]).
-
Installer l’autorité de certification locale
PowerShell
mkcert -install
Cela va générer une autorité de certification locale (CA) et l’ajouter au système de confiance de Windows.
👉 Vous serrez certainement amenés à valider les certificats.
Ce point pourra faire l’objet d’une précision plus tard.
-
Générer un certificat SSL local
Par exemple pour homeassistant.local
- Saisir ce bloc ci-dessous dans la fenêtre de terminal en une seule fois (sinon, ligne par ligne mais c’est plus long…)
- ❗️ N’oubliez pas de valider à la fin en appuyant sur votre touche <Entrée>
- ⚠️ Prêtez bien attention à ce que la fenêtre du terminal indique bien le chemin vers votre nom d’utilisateur de session en début de ligne.
PowerShell
mkdir .ssl
cd .\.ssl
mkcert homeassistant.local
cd..
explorer "C:\Users\Gotcha\.ssl"
Explications :
mkdirpour créer le sous répertoire de travail/.sslcdpour se placer dedans.mkcertva créer les fichiers :- homeassistant.local (certificat)
- homeassistant.local-key.pem (clé privée)
cd..pour revenir en arrière, au niveau du répertoire de l’utilisateur.explorerpour afficher le dossier
En cas de problème, relisez bien le contexte en début d’article !
A cette étape, vous venez de réaliser et d’imprimer des papiers pour votre site mais en l’état, rien ne relie ce certificat à votre site homeassistant.local
-
Où se trouve le CA?
Le certificat CA (de l’organisme de certification de confiance) se trouve dans :
C:\Utilisateurs\Gotcha\mkcert\root.pem
PowerShell
Copy-Item "$env:LOCALAPPDATA\mkcert\rootCA.pem" -Destination "$env:USERPROFILE\.ssl\rootCA.crt"
Cette commande va tout simplement copier le fichier rootCA.pem précédemment généré par mkcert pour le coller dans le dossier de travail ./ssl et il va renommé correctement en rootCA.crt et finir par ouvrir la fenêtre afin que vous n’ayez pas besoin de chercher !

