Перейти к содержимому
ecdsa.com
Chrome, Edge and other Chromium browsersБраузеры

Сообщение об ошибке

net::ERR_CERT_AUTHORITY_INVALID

На странице предупреждения код отображается как «NET::ERR_CERT_AUTHORITY_INVALID»; инструменты автоматизации (Playwright, Puppeteer, журналы Selenium) сообщают «net::ERR_CERT_AUTHORITY_INVALID» — именно это выводит наше воспроизведение в headless-режиме. Edge и другие браузеры на основе Chromium используют тот же код.

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

Что это означает

Chrome не смог выстроить цепочку от сертификата сайта до корневого сертификата, которому он доверяет, поэтому блокирует страницу предупреждением «Your connection is not private». Сертификат может быть самоподписанным, выпущенным частным CA, отданным без промежуточного сертификата или подменённым тем, кто перехватывает соединение. В Windows и macOS Chrome использует хранилище корневых сертификатов операционной системы (а для публичных CA — собственное хранилище Chrome Root Store), в Linux — базу данных NSS.

Почему это происходит

Как исправить

  1. 1.

    Владельцам сайтов: проверьте цепочку, которую отдаёт сервер

    Если сервер отдаёт только один сертификат, а его издатель — промежуточный CA, конфигурация сервера неполна.

    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.

    Владельцам сайтов: отдавайте полную цепочку

    Укажите веб-серверу файл с полной цепочкой, чтобы её мог проверить любой клиент, а не только Chrome.

    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.

    Для внутренних сайтов: установите частный корневой сертификат на управляемые устройства

    Распространите корневой сертификат компании через систему управления устройствами или хранилище ОС; в Linux добавьте его в базу данных NSS, которую читает 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.

    Пользователям: прежде всего посмотрите, кто выпустил сертификат

    Издатель указан в окне просмотра сертификата. Переходить на сайт в обход предупреждения («Proceed to … (unsafe)») следует только на собственных устройствах в сетях, которым вы доверяете; в незнакомой сети так вы отдаёте свою сессию тому, кто предъявил сертификат.

    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.

Связанные ошибки

Открыть всю базу ошибок подписей