Locahl
Obtenir Locahl
mkcertHTTPSSSLmacOSdéveloppement local

Corriger mkcert NET::ERR_CERT_AUTHORITY_INVALID

Corrigez NET::ERR_CERT_AUTHORITY_INVALID avec mkcert sur Mac : CA locale, certificat, domaine exact, Chrome, Firefox et hosts.

É

Équipe Locahl

·6 min de lecture

Gérez vos fichiers hosts sans terminal

Locahl vous permet de gérer vos environnements visuellement sur Windows, macOS et Linux, avec flush DNS automatique et sauvegardes.

Vous voyez NET::ERR_CERT_AUTHORITY_INVALID après avoir configuré mkcert sur Mac ? La correction rapide est :

BASH
mkcert -install
mkcert -cert-file certs/local-cert.pem -key-file certs/local-key.pem localhost 127.0.0.1 ::1 monprojet.test "*.monprojet.test"
killall "Google Chrome"
open -a "Google Chrome"

Cette séquence réinstalle l'autorité de certification locale, régénère un certificat pour les domaines utilisés et force Chrome à recharger les paramètres de confiance.

Pourquoi cette erreur apparaît

mkcert crée une autorité de certification locale et l'installe dans le trousseau macOS. Les certificats générés par mkcert sont ensuite reconnus comme fiables par le système et les navigateurs compatibles.

L'erreur apparaît si :

  • La CA mkcert n'est pas installée.
  • Le navigateur n'a pas rechargé les certificats.
  • Le certificat ne couvre pas le domaine exact.
  • Firefox utilise son propre magasin de certificats.
  • Les certificats ont été copiés depuis une autre machine.
  • L'ancienne CA mkcert a été supprimée.

Pour l'installation complète, consultez le guide HTTPS local avec mkcert.

Étape 1 : réinstaller la CA mkcert

Lancez :

BASH
mkcert -install

macOS peut demander le mot de passe administrateur. Vérifiez ensuite le dossier de la CA :

BASH
mkcert -CAROOT

Ne partagez jamais la clé privée de la CA locale.

Étape 2 : régénérer le certificat

Le certificat doit couvrir tous les noms ouverts dans le navigateur :

BASH
mkdir -p certs
mkcert -cert-file certs/local-cert.pem -key-file certs/local-key.pem localhost 127.0.0.1 ::1 monprojet.test "*.monprojet.test"

Un certificat pour localhost ne couvre pas monprojet.test. Un certificat pour monprojet.test ne couvre pas forcément api.monprojet.test sans wildcard.

Étape 3 : redémarrer le navigateur

Chrome :

BASH
killall "Google Chrome"
open -a "Google Chrome"

Safari suit généralement le trousseau macOS, mais un redémarrage peut aider. Firefox peut nécessiter l'import manuel de rootCA.pem.

Étape 4 : vérifier le serveur local

Votre serveur doit pointer vers les bons fichiers :

JAVASCRIPT
server: {
  https: {
    key: fs.readFileSync('certs/local-key.pem'),
    cert: fs.readFileSync('certs/local-cert.pem')
  }
}

Si le serveur utilise encore un ancien certificat, le navigateur continuera à afficher l'erreur.

Étape 5 : vérifier hosts et DNS

Si le mauvais site s'ouvre, vérifiez le domaine :

BASH
dscacheutil -q host -a name monprojet.test
ping monprojet.test
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder

Si nécessaire, reprenez le guide fichier hosts Mac.

Vérifier les domaines couverts

L'erreur vient souvent d'un certificat valide mais généré pour le mauvais nom.

Le domaine dans la barre d'adresse doit être couvert par le certificat :

  • https://localhost:3000 : inclure localhost.
  • https://monprojet.test : inclure monprojet.test.
  • https://api.monprojet.test : inclure api.monprojet.test ou *.monprojet.test.
  • https://127.0.0.1:3000 : inclure 127.0.0.1.
  • https://[::1]:3000 : inclure ::1.

Commande pratique :

BASH
mkcert -cert-file certs/local-cert.pem -key-file certs/local-key.pem localhost 127.0.0.1 ::1 monprojet.test "*.monprojet.test"

Exemples de configuration

Vite

JAVASCRIPT
export default {
  server: {
    https: {
      key: fs.readFileSync('certs/local-key.pem'),
      cert: fs.readFileSync('certs/local-cert.pem')
    }
  }
}

Next.js

BASH
next dev --experimental-https --experimental-https-key certs/local-key.pem --experimental-https-cert certs/local-cert.pem

Nettoyage en cas de confusion

Si plusieurs certificats existent :

1. Arrêtez le serveur local. 2. Supprimez les anciens certificats du projet. 3. Relancez mkcert -install. 4. Générez un certificat propre dans certs/. 5. Mettez à jour la config serveur. 6. Redémarrez le navigateur.

N'ajoutez jamais les clés privées au dépôt Git :

GITIGNORE
certs/
*.pem
*.key

Checklist de prévention

Pour chaque projet HTTPS local :

  • Générez les certificats sur chaque Mac.
  • Incluez tous les hostnames utilisés.
  • Rangez les fichiers dans un dossier clair.
  • Ajoutez les certificats au .gitignore.
  • Documentez la commande mkcert dans le README.
  • Redémarrez les navigateurs après mkcert -install.
  • Ne copiez jamais la clé privée de la CA locale.

Ordre de diagnostic

Si l'erreur persiste :

1. mkcert -install réussit-il ? 2. Le certificat couvre-t-il le domaine exact ? 3. Le serveur utilise-t-il les bons fichiers ? 4. Le navigateur a-t-il été redémarré ? 5. Le fichier hosts pointe-t-il vers la bonne IP ? 6. Chrome garde-t-il un cache DNS ou des sockets ?

Cet ordre évite de régénérer les certificats en boucle alors que le serveur sert simplement un ancien fichier.

Cas fréquents sur Mac

Chrome continue d'afficher l'alerte après correction

Chrome peut garder un état réseau ancien. Fermez toutes les fenêtres Chrome, relancez l'application, puis testez dans une fenêtre privée. Si le domaine a changé d'IP, videz aussi le cache hôte Chrome :

TEXT
chrome://net-internals/#dns

Puis videz les sockets :

TEXT
chrome://net-internals/#sockets

Le certificat fonctionne sur localhost mais pas sur un domaine .test

Le certificat a probablement été généré uniquement pour localhost. Régénérez-le avec tous les noms réellement utilisés par le projet :

BASH
mkcert localhost 127.0.0.1 ::1 app.monprojet.test api.monprojet.test

Ensuite, redémarrez le serveur pour qu'il charge le nouveau certificat.

Firefox ne fait pas confiance au certificat

Firefox peut utiliser son propre magasin de certificats selon la configuration. Si mkcert -install ne suffit pas, importez le fichier rootCA.pem depuis le dossier affiché par :

BASH
mkcert -CAROOT

Importez uniquement la CA de votre machine. Ne récupérez pas celle d'un collègue, car la clé privée associée doit rester locale.

Le serveur local sert encore l'ancien certificat

Vérifiez les chemins configurés dans Vite, Next.js, Nginx, Caddy ou votre serveur Node. Une erreur très courante consiste à générer un certificat dans certs/ mais à laisser le serveur pointer vers localhost.pem ailleurs dans le projet.

À faire en équipe

Pour éviter que l'erreur revienne à chaque onboarding, ajoutez au README :

  • La liste des domaines locaux.
  • La commande mkcert exacte.
  • Le dossier où placer les certificats.
  • Les fichiers à ignorer dans Git.
  • La commande de reset Chrome/DNS.

Exemple :

TEXT
mkcert app.monprojet.test api.monprojet.test localhost 127.0.0.1 ::1
Certificats attendus : certs/local-cert.pem et certs/local-key.pem
Après génération : redémarrer le serveur et Chrome

Cette documentation réduit les écarts entre machines et évite les certificats improvisés avec des noms incomplets.

Conclusion

Pour corriger NET::ERR_CERT_AUTHORITY_INVALID avec mkcert, traitez dans l'ordre : confiance de la CA, couverture exacte du domaine, configuration du serveur, puis cache navigateur/DNS.

À lire aussiHTTPS local sur Mac avec mkcert
Partager cet article
Disponible sur Windows, macOS et Linux

Prêt à simplifier votre workflow ?

Arrêtez de perdre du temps avec le terminal. Locahl vous permet de gérer votre fichier hosts en quelques clics, avec validation automatique et sans risque d'erreur.

  • Interface visuelle intuitive
  • Flush DNS automatique
  • Gestion multi-environnements
  • Sauvegardes automatiques
  • Import/Export JSON
Obtenir Locahl9,99€Paiement unique, pas d'abonnement

Questions fréquentes

Pourquoi mkcert affiche NET::ERR_CERT_AUTHORITY_INVALID ?

Le navigateur ne fait pas confiance à la CA locale mkcert, ou le certificat ne couvre pas le domaine affiché.

Quelle est la correction la plus rapide ?

Exécutez mkcert -install, régénérez le certificat pour le domaine exact, puis redémarrez le navigateur.

Articles similaires

5 min de lecture
HTTPSSSLcertificat

mkcert SSL local sur Mac : certificat HTTPS

Configurez mkcert sur Mac pour créer des certificats HTTPS locaux fiables pour localhost, domaines .test, Vite, Next.js et Docker.

É

Équipe Locahl

9 min de lecture
Dockerfichier hostsmacOS

Fichier hosts et Docker sur Mac

Configurez le fichier hosts avec Docker et docker-compose sur Mac : domaines locaux, réseaux Docker et bonnes pratiques.

L

Locahl Team

7 min de lecture
LaravelWordPressdéveloppement local

Fichier hosts pour Laravel et WordPress

Guide complet pour configurer le fichier hosts sur Mac pour le développement local avec Laravel et WordPress. Domaines locaux, virtual hosts, bonnes pratiques.

L

Locahl Team

6 min de lecture
développement localmacOSDocker

Environnement de développement Mac (2026)

Configurez un environnement dev local sur Mac : MAMP, Laravel Valet, Docker, domaines .test, HTTPS local avec mkcert et checklist.

É

Équipe Locahl

6 min de lecture
fichier hostsmacOStutoriel

Modifier le fichier hosts sur Mac (2026)

Comment éditer /etc/hosts sur macOS sans erreur ? Comparatif Terminal (sudo nano) vs interface graphique. Résolvez permissions denied et cache DNS en 2 minutes.

É

Équipe Locahl