Aller au contenu
ecdsa.com
Chrome, Edge and other Chromium browsersNavigateurs

Message d’erreur

net::ERR_CERT_AUTHORITY_INVALID

La page d’avertissement affiche le code sous la forme « NET::ERR_CERT_AUTHORITY_INVALID » ; les outils d’automatisation (Playwright, Puppeteer, journaux Selenium) signalent « net::ERR_CERT_AUTHORITY_INVALID », c’est-à-dire ce qu’affiche notre reproduction en mode headless. Edge et les autres navigateurs Chromium utilisent le même code.

Chrome, Edge and other Chromium browsers — certificate error interstitial "Your connection is not private"

Ce que cela signifie

Chrome n’a pas pu construire de chaîne entre le certificat du site et une racine qu’il approuve : il bloque donc la page avec l’avertissement « Your connection is not private ». Le certificat est peut-être auto-signé, émis par une AC privée, présenté sans son certificat intermédiaire, ou remplacé par un élément qui intercepte la connexion. Chrome utilise le magasin de certificats du système d’exploitation sous Windows et macOS (ainsi que son propre Chrome Root Store pour les AC publiques), et la base de données NSS sous Linux.

Pourquoi cela se produit

Comment corriger l’erreur

  1. 1.

    Propriétaires de sites : vérifier la chaîne servie

    Si un seul certificat est envoyé et que son émetteur est une AC intermédiaire, la configuration du serveur est incomplète.

    bash
    # Site owners: which certificates does the server send? (1 = intermediate missing)
    openssl s_client -connect www.example.com:443 -servername www.example.com -showcerts </dev/null 2>/dev/null \
      | grep -E '^ *[0-9]+ s:|^ *i:'
  2. 2.

    Propriétaires de sites : servir la chaîne complète

    Configurez le serveur web avec le fichier de chaîne complète, pour que tous les clients (pas seulement Chrome) puissent la vérifier.

    text
    # nginx: serve leaf + intermediates
    ssl_certificate     /etc/letsencrypt/live/www.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
  3. 3.

    Sites internes : installer la racine privée sur les appareils gérés

    Distribuez la racine de l’entreprise via la gestion des appareils ou le magasin de certificats du système d’exploitation ; sous Linux, ajoutez-la à la base de données NSS que lit Chrome.

    bash
    # Internal sites: install the company root on the client (Chrome uses the OS store on
    # Windows and macOS; on Linux, the NSS database in ~/.pki/nssdb)
    certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n corp-root -i corp-root-ca.pem
  4. 4.

    Utilisateurs : regarder qui a émis le certificat avant toute autre action

    La visionneuse de certificats indique l’émetteur. Passer outre l’avertissement (« Proceed to … (unsafe) ») devrait être réservé aux appareils qui vous appartiennent, sur des réseaux auxquels vous faites confiance ; sur un réseau inconnu, cela livre votre session à quiconque a présenté le certificat.

    text
    Click "Not secure" in the address bar → "Certificate details" and read the issuer.
    A company or security-vendor name on a public site = TLS inspection on your network.
    An unknown issuer on public Wi-Fi = do not proceed.

Erreurs associées

Parcourir toute la base de données des erreurs de signature