SSL – Outil : mkcert

Noyé dans un océan de doutes

SSL – Outil : mkcert

Contexte :

  1. On reste sur environnement Windows.
  2. 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.
  3. PowerShell est à jour.
  4. Appel de la fenêtre du terminal avec la combinaison des touches : Win + X > A.
  5. Il est préférable de conserver ouvert la même fenêtre de terminal tout au long de la procédure.
  6. Pour nettoyer le terminal, la commande est clean.
  7. 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

  1. 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'))   
            
                    
        
  1. Installer mkcert via Chocolatey

PowerShell

    choco install mkcert   
            
                    
        

Confirmez si demandé (par exemple en tapant A pour [Yes to All]).

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

  1. 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 :

  • mkdir pour créer le sous répertoire de travail /.ssl
  • cd pour se placer dedans.
  • mkcert va 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.
  • explorer pour afficher le dossier

En cas de problème, relisez bien le contexte en début d’article !

Prompt (exemple)

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

  1. 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 !

Tags: , , , ,

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *