С 1 октября 2021 года закончился срок действия сертификата IdenTrust DST Root CA X3 (одного из основных корневых сертификатов, применяемых в сети), который установлен на многих устройствах.
Из-за этого владельцы ПК на Windows 7, Windows Server 2008 с выключенными обновлениями и Windows XP могут столкнуться с проблемой появления ошибки: «ERR_CERT_DATE_INVALID»,«ERR_DATE_INVALID» и прочими ошибками сертификатов при входе на многие сайты.
Есть два способа решить эту проблему: либо установить новый сертификат, либо установить обновления ОС Windows.
- Решение через ручную установку сертификата
- Решение через установку обновлений
- Дополнительно
- Немного теории и истории
- Что произойдет 30 сентября?
- Что со всем этим делать?
- Windows
- На стороне сервера
- Итоги
- Сообщения «Обнаружена проблема при проверке сертификата» и «Невозможно гарантировать подлинность домена, с которым устанавливается зашифрованное соединение» при попытке открыть сайт
- Причина
- Что делать, если сообщение появляется снова
Решение через ручную установку сертификата
Необходимо запустить скачанный файл, на вкладке «Общие» нажать «Установить сертификат».
Выберите расположение «Локальный компьютер» и нажмите «Далее».
Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите «Обзор», выберите раздел «Доверенные корневые центры сертификации», нажмите «ОК» и «Далее», а в следующем окне – «Готово». При появлении вопросов об установке сертификатов – согласитесь на установку.
После этого перезапустите браузер и вновь попробуйте зайти на необходимый сайт.
Решение через установку обновлений
Для решения ошибки сертификата нужно установить обновления KB3020369 и KB3125574:
Дополнительно
Иногда установка одного лишь IdenTrust DST Root CA X3 может не помочь, так же рекомендуем дополнительно установить следующие корневые сертификаты:
Время на прочтение
30 сентября 2021 14:01:15 GMT оканчивается срок действия корневого сертификата IdenTrust DST Root CA X3.
Это событие достойно вашего внимания по той причине, что после наступления этого момента ряд устаревших систем перестанут доверять сертификатам, выпущенным центром сертификации Let’s Encrypt. С учётом того, что на текущий момент Let’s Encrypt предоставляет бесплатные криптографические сертификаты примерно для 250 миллионов доменных имен, а «устаревшие системы» — это порой системы возрастом всего 5-6 лет, вряд ли окончание срока действия сертификата DST Root CA X3 пройдёт для всех гладко и незаметно. В чём причина, кого конкретно это затронет, и что можно сделать?
Немного теории и истории
Не углубляясь в детали, пару слов для неспециалистов, почему окончание срока действия сертификата DST Root CA X3 повлияет на сертификаты, выпущенные Let’s Encrypt. У каждой системы, проверяющей сертификат на валидность, есть своё хранилище доверенных корневых сертификатов. Система при проверке будет доверять сертификатам, которые подписаны с использованием закрытого ключа одного из этих корневых сертификатов. Сами корневые сертификаты как правило имеют длительные сроки действия, меняются редко и не используются при формировании сертификатов конечного субъекта (в данном случае, сертификатов для доменных имен), вместо этого инфраструктура открытых ключей, предполагает использование цепочек доверия — корневые сертификаты применяются для подписания промежуточных сертификатов, а уже с использованием них подписываются сертификаты конечного субъекта (сертификаты для доменов). При этом, для того, чтобы система доверяла конечному сертификату, она должна быть способна проследить всю цепочку от этого сертификата до одного из корневых сертификатов, которым она доверяет.
После появления проекта Let’s Encrypt, его корневой сертификат ISRG Root X1 (как и любой новый корневой сертификат) не мог быстро попасть в хранилища доверенных сертификатов заметного количества систем. При этом для успешного функционирования проекта выданным сертификатам с самого начала должно было доверять максимальное количество систем «из коробки» (без дополнительных действий со стороны пользователей этих систем). В связи с этим, для сертификатов Let’s Encrypt стала использоваться цепочка доверия, ведущая к корневому сертификату DST Root CA X3, который признается большинством систем:
К настоящему моменту корневой сертификат ISRG Root X1 существует уже более 5 лет и за это время попал в доверенные в большинстве современных систем, ему доверяют:
Для сертификатов Let’s Encrypt по умолчанию в данный момент предлагается такая цепочка доверия:
Что произойдет 30 сентября?
Срок действия DST Root CA X3 подходит к концу 30 сентября 2021 14:01:15 GMT, что произойдет после этого?
Проблема с доверием возникнет также у систем, использующих OpenSSL версии меньше 1.1.0. Даже если у таких систем ISRG Root X1 входит в список доверенных сертификатов, особенность проверки сертификата в OpenSSL 1.0.x приведёт к тому, что наличие в цепочке истекшего DST Root CA X3, несмотря на наличие доверия к ISRG Root X1, будет приводить к отрицательному результату проверки на доверие. Аналогичная проблема у OpenSSL 1.0.x возникла 20 мая 2020 года с истекшим сертификатом AddTrust External CA Root.
Что со всем этим делать?
Для того, чтобы проверить, как поведёт себя ваша система при обращении к сайтам, использующим сертификаты Let’s Encrypt, после 30 сентября, можно воспользоваться утилитой faketime. В Debian и Ubuntu она доступна в пакете faketime.
Если всё в порядке, curl вернёт содержимое страницы, если же нет — выдаст сообщение об ошибке:
curl: (60) server certificate verification failed.
В этом случае нужно убедиться, что:
Проверка доверия к ISRG Root X1
Например, Ubuntu 16.04 xenial и Debian 8 jessie доверяют ISRG Root X1, но при этом поставляются с OpenSSL 1.0.x, поэтому проблема их может коснуться.
Чтобы проверить наличие сертификата ISRG Root X1 в числе доверенных:
В выводе команды в обоих случаях должно присутствовать:
subject= /C=US/O=Internet Security Research Group/CN=ISRG Root X1
Если такой строчки нет, то нужно добавить ISRG Root X1 в доверенные. В Debian/Ubuntu:
добавить в файл /etc/ca-certificates.conf строчку:
и выполнить комнаду
Проверка версии OpenSSL
Если система доверяет ISRG Root X1, нужно проверить версию OpenSSL
В выводе должна быть версия 1.1.0 или новее.
Если используется OpenSSL 1.0.x, то достаточным решением проблемы будет удалить из доверенных сертификат DST Root CA X3 (это решение может не сработать для openssl версий <1.0.1p и <1.0.2d). Это можно сделать, не дожидаясь 30 сентября.
В файле /etc/ca-certificates.conf нужно найти строчку:
и поставить в начало сроки символ «!»:
Далее, необходимо выполнить команду:
Локальное продление срока действия сертификата DST Root CA X3
Для тех случаев, когда используется совсем старый openssl (версии меньше 1.0.1p и 1.0.2d, но новее 0.9.8m), или по иной причине не срабатывает метод с изъятием из доверенных сертификата DST Root CA X3, можно воспользоваться еще одним методом, предложенным в статье Scott’а Helme. Метод основан на том, что OpenSSL, начиная с версии 0.9.8m, не проверяет сигнатуру сертификатов, хранящихся в локальном защищенном хранилище. Таким образом, можно изменить время действия сертификата в защищенном хранилище, при этом модифицированный сертификат будет по-прежнему восприниматься OpenSSL как валидный. Для того, чтобы продлить для OpenSSL на системе срок действия сертификата DST Root CA X3 еще на три года можно выполнить следующие команды:
sudo sed -i «s/xMDkzMDE0MDExNVow/0MDkzMDE4MTQwM1ow/g» /etc/ssl/certs/DST_Root_CA_X3.pem
sudo sed -i «s/xMDkzMDE0MDExNVow/0MDkzMDE4MTQwM1ow/g» /etc/ssl/certs/ca-bundle.crt
Не забудьте проверить так же все ваши контейнеры!!! У них свои хранилища корневых сертификатов и могут использоваться другие версии openssl
Windows
В мастере импорта сертификатов выбрать «Локальный компьютер»:
На последнем шаге мастера нажать кнопку «Готово».
После выполнения этой последовательности шагов, сертификат должен появиться в защищенном хранилище. Чтобы проверить это, нужно нажать комбинацию клавиш «Win+R», откроется диалог «Выполнить», в котором нужно ввести certmgr.msc
В открывшемся окне в подразделе «Сертификаты» раздела «Доверенные корневые центры сертификации» в списке должен появиться сертификат ISRG Root X1:
На стороне сервера
Для этого нужно использовать предлагаемую Let’s Encrypt альтернативную цепочку доверия для своих сертификатов. В этой цепочке исключен DST Root CA X3 и выглядит она так:
Для переключения на альтернативную цепочку нужно воспользоваться документацией вашего ACME-клиента. В частности, в certbot за возможность выбора альтернативной цепочки отвечает параметр —preferred-chain.
Итоги
30 сентября после окончания срока действия сертификата DST Root CA X3 часть пользователей старых устройств столкнутся с тем, что не смогут корректно открывать сайты, использующие сертификаты Let’s Encrypt. Я бы выделил в первую очередь пользователей старых устройств Apple, для которых нет возможности обновиться хотя бы на iOS 10. Кроме того, под раздачу могут попасть различные устройства IoT, старые телевизоры и подобные им устройства, для которых не существует обновлений с новыми корневыми сертификатами.
В то же время, для администраторов серверов с не очень современным софтом, которые могут взаимодействовать с сервисами, использующими сертификаты Let’s Encrypt, еще есть несколько дней на то, чтобы всё проверить и подготовиться к часу X.
Update: Добавил важное дополнение про необходимость проверки всех используемых контейнеров
Update3: Еще один метод решения проблемы для старых OpenSSL, процедура по добавлению сертификата ISRG Root X1 в доверенные в Windows для тех, кто еще не разобрался
Сообщения «Обнаружена проблема при проверке сертификата» и «Невозможно гарантировать подлинность домена, с которым устанавливается зашифрованное соединение» при попытке открыть сайт
Статья обновлена: 23 мая 2023
Статья относится к:
При открытии сайта появляется сообщение «Обнаружена проблема при проверке сертификата» или «Невозможно гарантировать подлинность домена, с котором устанавливается зашифрованное соединение».
Причина
Сайт может быть небезопасным, ваши учетные данные и другую информацию могут украсть злоумышленники. Мы не рекомендуем открывать такой сайт. Подробнее о возможных причинах смотрите ниже.
Если вы изменяли стандартные настройки для проверки защищенных соединений, сообщение может возникнуть при работе с программами, установленными на компьютере. Чтобы этого избежать, верните настройку для проверки защищенных соединений в стандартное значение.
Если сообщение появилось, когда вы открывали неизвестный сайт, вы можете разрешить однократное открытие этого сайта. Для этого:
Если вы не уверены в безопасности сайта, перед открытием проверьте его через OpenTip.
Что делать, если сообщение появляется снова
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!