Оглавление
- net::ERR_CERT_AUTHORITY_INVALID на локальном веб-сервере
- Что вызывает ошибку net::ERR_CERT_AUTHORITY_INVALID
- Как исправить ошибку net::ERR_CERT_AUTHORITY_INVALID в Linux
- Как исправить ошибку net::ERR_CERT_AUTHORITY_INVALID в Windows
net::ERR_CERT_AUTHORITY_INVALID на локальном веб-сервере
Данная статья посвящена исправлению ошибки «net::ERR_CERT_AUTHORITY_INVALID» для сертификата, который вы сгенерировали на своём компьютере в целях тестирования HTTPS. То есть здесь будет показано, как исправить ошибку на локальном веб-сервере.
Если вы столкнулись с такой ошибкой при посещении веб-сайта в Интернете, то помните, что в этом случае на этом сайте нельзя вводить никакие пароли и персональные данные, поскольку нужно исходить из того, что данные передаются в незашифрованном виде или целенаправленно перехватываются злоумышленником. Либо просто закройте проблемный сайт.
Итак, возвращаемся к нашему локальному веб-серверу. Вы создали самоподписанный сертификат и настроили веб-сервер работать по протоколу HTTPS, но веб-браузер сообщает об ошибке net::ERR_CERT_AUTHORITY_INVALID.
Что вызывает ошибку net::ERR_CERT_AUTHORITY_INVALID
Суть ошибки в том, что сертификат подписан Центром Сертификации (CA), которому веб-браузер не доверяет. В результате при открытии веб-сайта вам будет показано следующее сообщение:
Your connection is not private Attackers might be trying to steal your information from hackware.local (for example, passwords, messages, or credit cards). Learn more about this warning net::ERR_CERT_AUTHORITY_INVALID Turn on enhanced protection to get Chrome's highest level of security This server could not prove that it is hackware.local; its security certificate is not trusted by your computer's operating system. This may be caused by a misconfiguration or an attacker intercepting your connection. Proceed to hackware.local (unsafe)
Поскольку сертификат для локального веб-сайта, скорее всего, подписан с помощью ключей CA которые вы сами же и создали, то выход из данной ситуации только один — добавить созданный вами Центр Сертификации в доверенные. Это приведёт к тому, что любые сертификаты, которые подпишите данным Центром Сертификации, будут восприниматься как надёжные.
Больше подробностей смотрите в статье: OpenSSL: принципы работы, создание сертификатов, аудит
Как исправить ошибку net::ERR_CERT_AUTHORITY_INVALID в Linux
Chrome, Chromium, Firefox и созданные на их основе веб браузеры НЕ доверяют корневым сертификатам, установленным на уровне системы.
Причём эти браузеры хотя и используют NSS, они игнорируют общесистемные сертификаты NSS, которые можно добавить в файл /etc/pki/nssdb!
Firefox, Thunderbird, Chromium, Chrome и другие приложения, которые используют NSS, хранят свои списки доверенных сертификатов в файлах cert9.db. Причём у каждой из этих программ имеется свой собственный файл cert9.db. Чтобы добавить свой сертификат в каждый из этих файлов можно использовать скрипт.
Сохранить следующий код в файл CAtoCert9.sh:
#!/bin/bash certfile="/home/mial/myCA/rootCA.crt" certname="HackWare CA" for certDB in $(find ~/ -name "cert9.db") do certdir=$(dirname ${certDB}); certutil -A -n "${certname}" -t "TCu,Cu,Tu" -i ${certfile} -d sql:${certdir} done
В этом файле измените значение certfile на имя файла вашего сертификата и значение certname на имя вашего сертификата, сохраните и закройте файл.
Причём, обратите внимание, в качестве certfile нужно указать НЕ сертификат веб-сайта, а сертификат (публичный ключ) локального Центра Сертификации!
Затем запустите его следующим образом:
bash ./CAtoCert9.sh
В результате в домашней папке пользователя будут найдены все файлы cert9.db и в каждый из них будет добавлен указанный CA сертификат.
Перезагружать веб-сервер не требуется. Достаточно перезагрузить веб-страницу (желательно с Ctrl+F5).
Как можно увидеть, теперь проблема решена.
Чтобы удалить сертификаты, добавленные с помощью приведённого выше скрипта, создайте файл CAfromCert9.sh и скопируйте в него следующее:
#!/bin/bash certname="HackWare CA" for certDB in $(find ~/ -name "cert9.db") do certdir=$(dirname ${certDB}); certutil -D -d sql:${certdir} -n "${certname}" done
В этом файле измените значение certname на имя вашего сертификата, сохраните и закройте файл.
Затем запустите его следующим образом:
bash ./CAfromCert9.sh
Как исправить ошибку net::ERR_CERT_AUTHORITY_INVALID в Windows
Подробности смотрите в разделе «Как добавить корневой сертификат в доверенные в Windows».
Связанные статьи:
- Ошибка «Error code: SEC_ERROR_UNKNOWN_ISSUER» для самоподписанного сертификата (РЕШЕНО) (100%)
- Ошибка «net::ERR_CERT_COMMON_NAME_INVALID» для самоподписанного сертификата (РЕШЕНО) (82%)
- Ошибка «Error code: SSL_ERROR_BAD_CERT_DOMAIN» для самоподписанного сертификата (РЕШЕНО) (82%)
- Ошибка «Error code: SSL_ERROR_RX_RECORD_TOO_LONG» (РЕШЕНО) (82%)
- Ошибка «ERR_SSL_PROTOCOL_ERROR» (РЕШЕНО) (82%)
- Google Chrome не сохраняет пароли (РЕШЕНО) (RANDOM - 51.4%)