Aller au contenu

Mkcert 🔐

Mkcert sert à générer facilement des certificats TLS locaux fiables par ton système sans te battre avec OpenSSL comme un sanglier sous anxiolytiques 😤🐗


Installation 🧱

On installe les dépendances nécessaires : - curl pour interroger l’API GitHub 🌐 - nss-tools pour enregistrer l’autorité de certification dans le store système 🗝️ - wget pour récupérer le binaire 📦

dnf install -y curl nss-tools wget

Téléchargement de la dernière version officielle de mkcert pour Linux amd64 :

curl -s https://api.github.com/repos/FiloSottile/mkcert/releases/latest \
  | grep browser_download_url \
  | grep 'linux-amd64' \
  | cut -d '"' -f 4 \
  | wget -i -

Installation du binaire dans le PATH système 🔒

mkdir ~/.local/bin
mv mkcert-v*-linux-amd64 ~/.local/bin/mkcert
chmod 755 ~/.local/bin/mkcert

Initialisation 🏗️

Création et installation de l’autorité de certification locale dans le système et les navigateurs compatibles 🌍

mkcert -install

Vérification de la présence de la CA racine :

ls -l ~/.local/share/mkcert/rootCA.pem

Génération de certificats 🔩

Les certificats générés sont strictement réservés au local 🚫

Sous-domaine 🌐

mkcert web.lab.clinux.fr

Génère : - web.lab.clinux.fr.pem - web.lab.clinux.fr-key.pem


Adresse IP 🧮

mkcert 192.168.1.211 127.0.0.1 ::1

Un seul certificat valable pour toutes les IPs listées.


Wildcard (multiples sous-domaines) 🌳

mkcert "*.lab.clinux.fr"

⚠️ Ne couvre pas le domaine racine.

Solution complète :

mkcert "lab.clinux.fr" "*.lab.clinux.fr"

Transfert le l'autorité de certification

On recupère le fichier rootCA.pem et on le transfère sur le poste, puis on l'injecte dans les autorités locales.

sudo cp rootCA.pem /etc/pki/ca-trust/source/anchors/
update-ca-trust

Bonnes pratiques 🧠

  • ❌ Jamais en production
  • 🔑 Ne jamais versionner les clés privées
  • 🔄 Redémarrer le navigateur si besoin
  • ✅ Compatible Firefox, Chrome, Chromium, NSS, OpenSSL