Let’s Encrypt – некоммерческий удостоверяющий центр, который предоставляет бесплатные X.509 сертификаты для TLS шифрования с помощью автоматизированного процесса, направленного на замену текущего сложного процесса ручного создания, проверки, подписи, установки и обновления сертификатов для защищённых веб-сайтов.

В результате истечения срока действия корневого сертификата DST Root CA X3, устаревшие устройства, которые давно не получали обновления и не поддерживают новый корневой сертификат ISRG Root X1, перестали доверять старому сертификату и при посещении сайтов, использующих сертификаты от Let's Encrypt, выдают предупреждения или не могут установить защищённое соединение.

К устаревшим относятся устройства и ОС старше 5 лет, например:

  • Windows XP до SP3 (а также для SP3 и Windows 7, если не производилось автоматическое обновление корневых сертификатов).
  • macOS до 10.12.1.
  • iOS до 10.
  • Android до 2.3.6 (при этом доступ к сервисам еще может быть, из-за особенностей проверки корневых сертификатов, а версии до 7.1.1 перестанут поддерживать сертификат в 2024 году).
  • Ubuntu до 16.04.
  • Debian до 8.
  • Sony PlayStation 3 и 4 с прошивками до 5.00.
  • Старые модели смарт-телевизоров и умных домашних устройств.
  • Устройства, использующие OpenSSL версии 1.0.x.

Решением данной проблемы будет обновление ПО до последних версий, где уже включена поддержка нового корневого сертификата. Принимать меры по решению проблемы стоит только в том случае, если это необходимо, например довольно крупная часть аудитории сервиса использует устаревшее ПО и они критичны для проекта.

Решение проблемы со стороны клиента:

  • Ручная установка сертификата ISRG Root X1, если он отсутствует в хранилище используемой системы или ПО.
  • Удаление устаревшего корневого сертификата DST Root CA X3. Наличие устаревшего корневого сертификата может мешать нормальной работе с сервисами, использующими сертификаты Let's Encrypt.

Внимание! Решить проблему данным способом можно не на всех устройствах.

Windows 7

В ОС Windows 7 цепочка корневых сертификатов должна обновиться автоматически, если включены обновления операционной системы, в другом случае корневой сертификат необходимо установить самостоятельно, выполнив следующие действия:

Для начала необходимо скачать корневой сертификат ISRG Root X1 с сайта Let's Encrypt в формате der.
Запустим скачанный файл и в появившемся окне нажмем Install Certificate.

file

file

Выберем, для кого необходимо установить сертификат, и нажмите Далее.
Выберите пункт Place all certificates in the following store и нажмите Browse.

file

file

Выберем хранилище Trusted Root Certification Authorities и нажмите OK.

file

file

Нажмем Next, проверьте корректность выбранных данных и нажмите Finish.

Debian/Ubuntu

  • Для проверки наличия корневого сертификата в списке доверенных, выполним в терминале команду:
awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep "ISRG Root X1"  
  • В том случае если, при выводе команды будет фигурировать subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1, то далее выполнять какие-либо действия нет необходимости, если нет, то выполните команду.
curl -k https://letsencrypt.org/certs/isrgrootx1.pem.txt | sudo tee /usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt ; sudo echo "mozilla/ISRG_Root_X1.crt" >> /etc/ca-certificates.conf ; sudo update-ca-certificates  

Проверьте работу сервисов, с которыми возникали проблемы доступа.

CentOS

  • Для проверки наличия корневого сертификата в списке доверенных, выполним в терминале команду:
awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-bundle.crt | grep "ISRG Root X1"  
  • В том случае если, при выводе команды будет фигурировать subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1, то далее выполнять какие-либо действия нет необходимости, если нет, то выполните команду.
trust dump --filter "pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10" | openssl x509 | sudo tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem  
sudo update-ca-trust  

Проверьте работу сервисов, с которыми возникали проблемы доступа.

OpenSSL 1.0.x

  • Если в системе используется устаревшая версия OpenSSL, то необходимо удалить из доверенных корневых сертификатов устаревший следующим образом:
    Для Debian/Ubuntu отредактируйте файл /etc/ca-certificates.conf установив символ ! в начале строки mozilla/DST_Root_CA_X3.crt и выполните команду:
update-ca-certificates  

На стороне сервера

На стороне сервера от вас мало что зависит. Если вы используете сертификаты от Let's Encrypt на своем сервере, то должны понимать, что после 30 сентября 2021 14:01:15 GMT к вашему серверу смогут без проблем подключиться только клиенты, доверяющие ISRG Root X1, а также использующие Android >= v2.3.6. При этом, если клиенты используют OpenSSL, то они должны пользоваться версией OpenSSL >= 1.1.0.

При этом, у вас есть выбор - ценой отказа от поддержки старых Android (оставив поддержку Android >= 7.1.1), вы можете сохранить поддержку OpenSSL 1.0.x без манипуляций на стороне клиента.

Для этого нужно использовать предлагаемую Let's Encrypt альтернативную цепочку доверия для своих сертификатов. В этой цепочке исключен DST Root CA X3 и выглядит она так:

ISRG Root X1 → Let's Encrypt R3 → Конечный сертификат пользователя  

Для переключения на альтернативную цепочку нужно воспользоваться документацией вашего ACME-клиента.


Если у Вас появились дополнительные вопросы, вы всегда можете обращаться в нашу службу поддержки через систему тикетов.

Обновлено 5 января 2022 г.