mkcert simplifie drastiquement la mise en place de certificats HTTPS valides en local, sans passer par OpenSSL ou configurations complexes. mkcert génère une autorité de certification locale (CA) et l’installe automatiquement dans les stores de confiance de ton système et de tes navigateurs, ce qui permet d’obtenir des certificats reconnus sans effort ni avertissement . Ce fonctionnement élimine les warnings gênants lors des démos ou du développement local et évite les manipulations fastidieuses et peu fiables .
mkcert fonctionne en une seule ligne de commande. Par exemple, sur macOS, il suffit d’installer l’outil (et nss pour Firefox), puis d’exécuter :
brew install mkcert nss
mkcert -install
mkcert example.com *.example.com localhost 127.0.0.1 ::1
Cela crée les certificats .pem prêts à être utilisés par ton serveur local .
mkcert est multiplateforme, disponible sur macOS, Linux et Windows, et s’intègre facilement dans de nombreux environnements. Sur Linux, par exemple, il peut être installé via le gestionnaire de paquets ou téléchargé manuellement, puis utilisé de manière identique . Il fonctionne aussi avec divers serveurs de développement comme Vite (via un plugin), Uvicorn (pour Python/ASGI), ou encore Nginx ou Apache, en configurant simplement les chemins vers le certificat et la clé générés .
L’un des principaux avantages de mkcert est sa simplicité sans sacrifice : en masquant la complexité d’OpenSSL, il libère du temps de configuration fastidieuse, tout en étant assez puissant pour gérer des domaines personnalisés, des wildcard et les adresses IPv4 et IPv6 . C’est d’autant plus précieux que certains navigateurs, comme Chrome sur macOS récent, ne permettent plus même d’accéder aux sites non sécurisés sans contournement laborieux .
Il existe cependant une limitation potentielle : mkcert génère un fichier rootCA-key.pem qui constitue la clé privée de ton autorité locale. Si ce fichier venait à être partagé ou compromis, un attaquant pourrait intercepter du contenu sécurisé en se faisant passer pour n’importe quel site, ce qui pose un risque de sécurité si la CA n’est pas bien protégée . Il faut donc absolument l’utiliser uniquement en développement, ne jamais le diffuser, et envisager mkcert -uninstall pour le supprimer ensuite si besoin .
En conclusion, mkcert offre une solution élégante et rapide pour obtenir des certificats HTTPS locaux fiables et sans avertissement. Il économise du temps, facilite les tests dans des environnements proches de la production et améliore l’expérience utilisateur, notamment lors des démos. Il faut cependant rester vigilant quant à la sécurité de la clé de l’autorité locale, car mkcert n’est destiné qu’à des usages en développement.
Sources :
- GitHub - FiloSottile/mkcert