
Последнее обновление:

JFYI: Сертификаты нужны не только для https — это только примерно 40% их применения, они используются куда более широко, поэтому CA шлет максимально возможный набор файлов.
30 сентября 2021 14:01:15 GMT оканчивается срок действия корневого сертификата IdenTrust DST Root CA X3.
Это событие достойно вашего внимания по той причине, что после наступления этого момента ряд устаревших систем перестанут доверять сертификатам, выпущенным центром сертификации Let’s Encrypt. С учётом того, что на текущий момент Let’s Encrypt предоставляет бесплатные криптографические сертификаты примерно для 250 миллионов доменных имен, а «устаревшие системы» — это порой системы возрастом всего 5-6 лет, вряд ли окончание срока действия сертификата DST Root CA X3 пройдёт для всех гладко и незаметно. В чём причина, кого конкретно это затронет, и что можно сделать?
В этой статье мы покажем, как добавить (установить) новый сертификат в список доверенных корневых сертификатов в Linux.
Например, вы используете на своем сайте самоподписанный SSL/TLS сертификат и не хотите, чтобы на клиентах при открытии сайта появлялась ошибка SEC_ERROR_UNKNOWN_ISSUER.

Чтобы проверить, что ваш хост Linux не может проверить (и соответственно не доверяет) SSL сертификату на определенном сайте, выполните команду:
$ curl –I https://www.sberbank.ru
curl: (60) SSL certificate problem: unable to get local issuer certificate. More details here: https://curl.haxx.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.

В данном случае нам нужно добавить корневой центр сертификации этого сайта в список доверенных корневых сертификатов Linux.
По умолчанию, все операционные системы семейства Windows автоматически получают и обновляют корневые сертификаты с сайта Microsoft. Компания MSFT в рамках программы корневых сертификатов Microsoft Trusted Root Certificate Program, ведет и публикует в своем онлайн хранилище сертификаты для клиентов и устройств Windows. Если проверяемый сертификат в своей цепочке сертификации относится к корневому CA, который участвует в этой программе, Windows автоматически скачает с узла Microsoft Update и добавит такой корневой сертификат в доверенные на вашем компьютере.
Windows запрашивает обновление списка корневых сертификатов (certificate trust lists — CTL) один раз в неделю. Если в Windows отсутствует прямой доступ к каталогу Windows Update, то система не сможет обновить корневые сертификаты, соответственно у пользователя могут быть проблемы с открытием сайтов (SSL сертификаты которых подписаны недоверенными CA, см. статью об ошибке в Chrome Этот сайт не может обеспечить безопасное соединение), либо с установкой запуском подписанных приложений или скриптов.
В этой статье попробуем разобраться, как в Windows вручную обновить список корневых сертификатов в TrustedRootCA в изолированных сетях, или компьютерах/серверах без прямого подключения к Интернету.
Примечание. Если ваши компьютеры выходят в Интернет через прокси-сервер, для автоматического обновления корневых сертификатов Microsoft рекомендует открыть прямой доступ (bypass) к веб-узлам Microsoft. Но это не всегда возможно/применимо.
В новостях несколько раз проскакивала информация о том, что госучреждения в связи с санкциями начали использовать на российские TLS сертификаты. В частности, Сбер сообщает, что через несколько дней его сервисы начнут переход на российские TLS-сертификаты Минцифры. В этой статье говорим об особенностях таких сертификатов, их поддержке и установке в различных устройствах и браузерах.
Российские сертификаты Национального удостоверяющего центра Минцифры России должны обеспечивать защищённый доступ к сайтам и онлайн-сервисам российских банков и госорганизаций. Данные сертификаты могут использоваться российские организации под санкциями, которые не могут продлить или перевыпустить сертификаты в иностранных CA (в случае их отзыва или окончания срока действий). Минцифры предоставляет бесплатный услугу по выпуску TLS сертификата юридическим лицам, владельцам сайтов по запросу в течение 5 рабочих дней.
Однако главная проблема в том, что сертификаты, выданные Минцифрой, считаются недоверенными на большинстве устройств и браузерах и отсутствуют в списках корневых сертификатов операционных систем.
Вы можете проверить, доверяет ли ваш компьютер (браузер) сертификатам, выданным Минцифрой, перейдя на сайт https://fgiscs.minstroyrf.ru/. В моем случае браузер Edge выдает:
Your connection isn't private Attackers might be trying to steal your information from fgiscs.minstroyrf.ru (for example, passwords, messages, or credit cards). NET::ERR_CERT_AUTHORITY_INVALID Subject: *.minstroyrf.ru Issuer: Russian Trusted Sub CA

Поддержка российских TLS сертификатов встроена только в российские интернет-браузеры (Атом и Яндекс браузер). Все остальные браузеры (Chrome, Opera, Microsoft Edge, Firefox и т.д.) будут выдавать ошибку проверки сертификатов при открытии таких сайтов. Это означает, что вам нужно вручную установить корневые сертификаты на ваши устройства.
Перед установкой проверьте отпечаток корневого сертификата удостоверяющего центра с помощью PowerShell:
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 "C:\Temp\russian_trusted_root_ca.cer"
$cert.Thumbprint
Он должен быть
- Russian Trusted Root CA (от The Ministry of Digital Development and Communications)– корневой сертификат удостоверяющего центра — russian_trusted_root_ca.cer https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cer
- Russian Trusted Sub CA – промежуточный (выпускающий TLS сертификат) — russian_trusted_sub_ca.cer https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer
- Корневой и выпускающий сертификаты — russiantrustedca.pem https://gu-st.ru/content/Other/doc/russiantrustedca.pem
- Корневой и выпускающий сертификаты Russian Trusted Root CA — russiantrusted.mobileconfig https://gu-st.ru/content/Other/doc/russiantrusted.mobileconfig
Инструкции по установки доступны на сайте Госуслуги: https://www.gosuslugi.ru/crt. Здесь же есть полный список сайтов, для которых выпущен сертификат от CA Минцифры.
В случае с Windows корневой и выпекающий сертификат нужно установить в доверенные центры сертификации текущего пользователя. Откройте CER файл, нажмите Install Certificate, и следуйте шагам мастера установки.

Mozilla Firefox по-умолчанию не использует хранилище сертификатов Windows и смотрит на собственное хранилище доверенных сертификатов. Чтобы добавить корневой сертификат Минцифры в Firefox:
- Откройте его настройки:
about:preferences#privacy - Нажмите View Certificates;

- Нажмите Import и выберите CER файл с сертификатом. Включите опции Trust this CA to identify websites и Trust this CA to identify email users.

На данный момент такие сертификаты безопасности выданы для более чем 4000 доменных имен (полный список есть здесь https://www.gosuslugi.ru/tls -> Список доменов, в отношении которых выпущены сертификаты безопасности).

Вероятно, TLS сертификаты Национального удостоверяющего центра Минцифры России в скором времени будут внедрены на большинство российских сайтов госорганов.
В конце статьи хочу отменить, что установка таких сертификатов в ОС вносит определенный риск утечки данных и реализации MITM атаки со стороны владельца сертификата (такое было пару лет назад в Казахстане). Возможно в данный момент оптимальное решение не устанавливать сертификаты на компьютеры, а использовать российские браузеры (Яндекс.браузер) для доступа к веб сайтам, использующие российские TLS сертификаты.

Корневой сертификат — это файл, в котором указаны данные удостоверяющего центра (УЦ). Например, название УЦ, его ИНН и адрес, срок действия сертификата, какой алгоритм шифрования использует УЦ.
К этим данным обращается криптопровайдер, когда проверяет действительность электронной подписи пользователя. Если не установить корневой сертификат на компьютер, где используется электронная подпись, то подпись не будет работать корректно.
Чтобы быстро установить корневой сертификат и настроить компьютер, используйте бесплатный сервис Контур.Веб-диск. Он скачает все плагины и файлы, необходимые для правильной работы электронной подписи.
Удостоверяющий центр использует корневой сертификат, чтобы:
- выдавать сертификаты электронной подписи (ЭП, она же ЭЦП) пользователям, например, гендиректору организации или нотариусу,
- отзывать эти сертификаты, подписывая корневым сертификатом список отозванных (аннулированных) сертификатов.
Если вы еще не получили электронную подпись, оформите ее в удостоверяющем центре, который прошел аккредитацию. В УЦ Контура есть подписи для сотрудников, торгов, отчетности и личных дел. Поможем оформить сертификат ФНС для руководителя.
Корневой сертификат участвует в «цепочке доверия». «Цепочка доверия» — это взаимосвязь нескольких сертификатов, которая позволяет проверить, действительна ли электронная подпись и можно ли доверять сертификату ЭП.
Рассмотрим «цепочку доверия», сформированную для квалифицированного сертификата электронной подписи:
1. Корневой сертификат Минцифры РФ (ранее — Минкомсвязь РФ).
Это верхнее звено «цепочки доверия». Минцифры РФ осуществляет функции головного удостоверяющего центра в России. Оно наделяет другие удостоверяющие центры, прошедшие аккредитацию, правом выдавать квалифицированные сертификаты ЭП — выдает им собственные сертификаты, подписанные корневым сертификатом Минцифры РФ.
Например, в Windows корневой сертификат можно найти через «Управление сертификатами» — «Доверенные корневые центры сертификации» — «Сертификаты».
2. Сертификат удостоверяющего центра. Официально его называют «промежуточный сертификат», но распространено также название «корневой сертификат УЦ».
Среднее звено «цепочки доверия». УЦ получает этот сертификат от Минцифры РФ, когда становится аккредитованным. С помощью своего промежуточного сертификата УЦ выдает квалифицированные сертификаты пользователям: организациям, их сотрудникам, простым физлицам (п.2.1 ст.15 63-ФЗ).
В Windows промежуточный сертификат хранится в «Управление сертификатами» — «Промежуточные центры сертификации» — «Сертификаты».
3. Личный сертификат пользователя — квалифицированный сертификат электронной подписи.
Конечное звено «цепочки». Пользователь обращается в УЦ и получает там квалифицированный сертификат ЭП (он же КЭП, ЭП или ЭЦП). В его сертификате указаны данные «вышестоящих» сертификатов — УЦ и Минцифры.
В Windows личный сертификат можно найти через «Управление сертификатами» — «Личное».
Все сертификаты должны быть установлены в хранилище сертификатов (на компьютер) и действительны. Только тогда криптопровайдер сможет проверить доверие к сертификату пользователя и действительность электронной подписи, сформированной на основе этого сертификата.

Выше мы описали «цепочку доверия» для квалифицированных сертификатов. Поскольку такие сертификаты могут выдавать только аккредитованные УЦ, то в цепочке три звена: Минцифры — аккредитованный УЦ — пользователь. Именно такую связь можно увидеть, если открыть личный сертификат пользователя на вкладке «Путь сертификации» (см. скриншот выше).
Для неквалифицированных сертификатов ЭП «цепочка доверия» может состоять только из двух звеньев: УЦ — пользователь. Это возможно потому, что УЦ для выдачи неквалифицированных сертификатов не нужна аккредитация. Звенья такой «цепочки» будут называться: «корневой сертификат» и «пользовательский (личный) сертификат»
Программа установки всех сертификатов импортирует корневой сертификат Минцифры и промежуточные сертификаты УЦ. Подключение к интернету на момент установки не требуется.
Да, можно, но работать она не будет. Корневой и промежуточный сертификат является тем ключом, к которому обращается криптопровайдер при проверке подлинности подписи. Для признания ключа действительным в системе должен быть установлен корневой сертификат. В противном случае пользователь увидит окно с уведомлением об ошибке.
Это актуально как для ЭП, хранящейся на компьютере, так и для ЭП на токене, с небольшой разницей:
- при работе с ЭП на компьютере, корневой сертификат устанавливается один раз, обычно при первой установке ЭП,
- если ЭП хранится на токене, то корневой сертификат необходимо устанавливать на тот компьютер, с которым предстоит работать.
Корневой сертификат представляет собой файл, который содержит свойства и данные:
- серийный номер,
- сведения об УЦ,
- сведения о владельце сертификата,
- сроки его действия,
- используемые алгоритмы
- открытый ключ электронной подписи,
- используемые средства УЦ и средства электронной подписи,
- класс средств ЭП,
- ссылка на сертификат «вышестоящего» УЦ, который выдал данный сертификат (для промежуточного сертификата),
- ссылка на реестр аннулированных (отозванных) сертификатов (для промежуточного сертификата),
- электронную подпись УЦ, выдавшего сертификат.
Какой срок действия корневого сертификата удостоверяющего центра
Корневой сертификат УЦ Минцифры действует 18 лет. Промежуточный сертификат аккредитованного УЦ действует 15 лет — это дольше, чем действие любого пользовательского сертификата ЭП, который такой УЦ выдаст клиенту. Пользовательские сертификаты выдаются обычно на 12, 15 месяцев.
УЦ сам следит за сроками действия своих промежуточных и корневых сертификатов, чтобы не доставить неудобств клиентам. УЦ Контура обновляет сертификаты в среднем раз в год — это необходимо, чтобы соблюдать требования эксплуатационной документации к срокам ключей электронной подписи на сертифицированные средства УЦ и ЭП. Обновление происходит незаметно для пользователей и не влияет на их работу.
Если вы еще не получили электронную подпись, оформите ее в удостоверяющем центре, который прошел аккредитацию. В УЦ Контура есть подписи для сотрудников, торгов, отчетности и личных дел. Поможем оформить сертификат ФНС для руководителя.
Для начала работы с электронной подписью необходимо установить корневые и промежуточные сертификаты УЦ. У клиентов УЦ Контура установка обычно происходит автоматически — во время автонастройки компьютера. Ниже мы опишем и автоматический, и ручной способ.
Автоматическая установка — наиболее простой и быстрый способ, который не требует специальных знаний и навыков от вас:
- Откройте любой удобный браузер, это может быть Google Chrome, Mozilla Firefox, Internet Explorer или другой.
- Зайдите в сервис автоматической настройки рабочего места Контур.Веб-диск.
- Действуйте по указаниям сервиса: он продиагностирует ваш компьютер, найдет каких плагинов и файлов не хватает, предложит их установить. Вместе с ними установит необходимые корневые и промежуточные сертификаты.
- Перейдите в раздел «Корневые сертификаты». Дальше возможны два варианта.
- Скачайте все сертификаты разом. Для этого на странице с сертификатами Удостоверяющего центра нажмите на ссылку «Программа для установки всех корневых сертификатов», откройте архив и выберите один из файлов:
- Certificates_Kontur_Admin.exe — если у вас есть права администратора компьютера, сертификаты установятся для всех пользователей компьютера;
- Certificates_Kontur_User.exe — если прав администратора у вас нет, сертификаты установятся только для текущего пользователя.
- Скачайте каждый сертификат отдельно.
- Выберите год, когда был выдан промежуточный сертификат УЦ Контура. Чтобы найти дату, откройте личный сертификат пользователя, выберите вкладку «Путь сертификации» и откройте промежуточный сертификат.
- Напротив нужного сертификата нажмите кнопку «Скачать» и установите его в систему.
Если вы еще не получили электронную подпись, оформите ее в удостоверяющем центре, который прошел аккредитацию. В УЦ Контура есть подписи для сотрудников, торгов, отчетности и личных дел. Поможем оформить сертификат ФНС для руководителя.
Если возникли ошибки — при установке корневого сертификата или при работе с электронной подписью — обратитесь в нашу техподдержку. Специалисты помогут разобраться в проблеме. Звоните на или пишите по контактам Центра поддержки, указанным в правом нижнем углу страницы.
- Ручное обновление корневых сертификатов в Windows 10 и 11
- Корневые сертификаты
- Промежуточные сертификаты
- Сертификат подписания ответов OCSP
- Обновление корневых сертификатов в Windows 7
- OCSP Signing Certificate
- Немного теории и истории
- Что произойдет 30 сентября?
- Cross Signing
- Управление корневыми сертификатами в Windows 10 и 11
- Roots
- Установка корневого сертификата в Linux
- Корневые сертификаты
- Прозрачность сертификата
- Certificate Transparency
- Что со всем этим делать?
- На стороне клиента
- Linux
- Windows
- На стороне сервера
- Включить/отключить автоматическое обновление корневых сертификатов в Windows
- Добавить корневой доверенный сертификат для браузеров Mozilla, Chrome
- Обновление корневых сертификатов в Windows с помощью GPO в изолированных средах
- Утилита rootsupd. exe для обновления сертификатов в Windows XP
- Промежуточные сертификаты
- Root Certificates
- Список корневых сертификатов в формате STL
- Итоги
Ручное обновление корневых сертификатов в Windows 10 и 11
Для генерации SST файла, на компьютере Windows 10/11 с доступом в Интернет, выполните с правами администратора команду:
certutil.exe -generateSSTFromWU c:\PS\roots.sst
Updated SST file. CertUtil: -generateSSTFromWU command completed successfully.

В результате в целевом каталоге появится файл SST, содержащий актуальный список сертификатов. Дважды щелкните по нему для открытия. Данный файл представляет собой контейнер, содержащий доверенные корневые сертификаты.

В указанном каталоге появится файл SST, содержащий актуальный список сертификатов. Данный файл представляет собой контейнер, содержащий доверенные корневые сертификаты. Дважды щелкните по нему.
В открывшейся
mmc
консоли вы можете экспортировать любой из полученных сертификатов. В моем случае, список сертификатов содержал 436 элементов. Естественно, экспортировать сертификаты и устанавливать по одному не рационально.
Запустите оснастку certmgr.msc и убедитесь, что все сертификаты были добавлены в хранилище Trusted Root Certification Authority. В нашем примере на Windows 11 количество корневых сертификатов увеличилось с 34 до 438.

Чистая копия Windows после установки содержит в корневом хранилище лишь небольшое количество сертификатов. Если компьютер подключен к интернету, остальные корневые сертификаты будут устанавливаться автоматически (по требованию), если ваше устройство попытается получить доступ к HTTPS сайту/SSL сертификату, в чей цепочке доверия есть отпечаток из CTL Microsoft. Поэтому как правило, нет необходимости добавлять в свое локальное хранилище сразу все сертификаты, доверенные Microsoft.
Корневые сертификаты
Наши корневые сертификаты хранятся в надёжном месте и недоступны онлайн. Мы выпускаем сертификаты для пользователей на основе промежуточных сертификатов из следующего раздела. Для дополнительной совместимости с новым Root X2 с различными корневыми хранилищами, мы также подписали его с Root X1.
- Активные
- ISRG Root X1 (
RSA 4096, O = Internet Security Research Group, CN = ISRG Root X1)- Самоподписанный: der, pem, txt
- Кросс подписанный DST Root CA X3: der, pem, txt
- ISRG Root X1 (
- Действующий, с ограничениями
- ISRG Root X2 (
ECDSA P-384, O = Internet Security Research Group, CN = ISRG Root X2)- Самоподписанный: der, pem, txt
- Кросс-подписанный ISRG Root X1: der, pem, txt
- ISRG Root X2 (
Мы создали сайты для проверки цепочки сертификатов вплоть до активных корневых.
Промежуточные сертификаты
Как правило, сертификаты, выпущенные Let’s Encrypt, создаются на основе “R3”, промежуточного RSA. В настоящее время выпуск сертификатов из “E1”, промежуточного ECDSA-сертификата, возможен только для ключей ECDSA из разрешенных аккаунтов. В будущем выпуск сертификатов из “Е1” будет доступен для всех.
Дополнительные промежуточные сертификаты (“R4” и “E2”) зарезервированы для восстановления после стихийных бедствий, и будут использованы только в том случае, если мы потеряем доступ к нашими основным межуточным сертификатам. Мы больше не используем промежуточные сертификаты X1, X2, X3 и X4.
IdenTrust кросс-подписал наши промежуточные сертификаты RSA для дополнительной совместимости.
Сертификат подписания ответов OCSP
Этот сертификат используется для подписания ответов OCSP для промежуточных Центров Сертификации Let’s Encrypt. Таким образом нам не нужно иметь онлайне-доступ к корневому сертификату, чтобы подписать эти ответы. Копия сертификата подписания включена в ответ OCSP для информирования, дополнительно пользователям ничего делать не нужно.
- ISRG Root OCSP X1 ([Подписанный ISRG Root X1](https://crt. sh/? id=2929281974)): [der](/certs/isrg-root-ocsp-x1. der), [pem](/certs/isrg-root-ocsp-x1. pem), [txt](/certs/isrg-root-ocsp-x1. txt)
У наших новых промежуточных сертификатов нет OCSP URL-адресов (их информация об отзыве вместо этого используется CRL), поэтому мы не выпустили сертификат подписи OCSP от ISRG Root X2.
Обновление корневых сертификатов в Windows 7
Несмотря на то, что Windows 7 уже снята с поддержки, есть много пользователей и компаний, в которых она еще используется.
После установки чистой Windows 7 из образа вы может столкнуться, что многие современные программы и инструменты на ней не работают из-за того, что они подписаны с помощью новых сертификатов. В частности, были жалобы, что в Windows 7 64 без обновления сертификатов не удается установить .Net Framework 4.8. или
vs_Community.exe с ошибкой:
installer manifest failed signature validation
После этого вы можете использовать утилиту certutil для генерации SST файла с сертификатами (на этом или на другом компьютере):
certutil.exe -generateSSTFromWU c:\ps\roots.sst
Теперь можно импортировать сертификаты в доверенные:
OCSP Signing Certificate
This certificate is used to sign OCSP responses for the Let’s Encrypt Authority
intermediates, so that we don’t need to bring the root key online in order to
sign those responses. A copy of this certificate is included automatically in
those OCSP responses, so Subscribers don’t need to do anything with it. It is
included here for informational purposes only.
- ISRG Root OCSP X1 (Signed by ISRG Root X1): der, pem, txt
Our newer intermediates do not have OCSP URLs (their revocation information is
instead served via CRL), so we have not issued an OCSP Signing Cert from ISRG Root X2.
Немного теории и истории
Не углубляясь в детали, пару слов для неспециалистов, почему окончание срока действия сертификата DST Root CA X3 повлияет на сертификаты, выпущенные Let’s Encrypt. У каждой системы, проверяющей сертификат на валидность, есть своё хранилище доверенных корневых сертификатов. Система при проверке будет доверять сертификатам, которые подписаны с использованием закрытого ключа одного из этих корневых сертификатов. Сами корневые сертификаты как правило имеют длительные сроки действия, меняются редко и не используются при формировании сертификатов конечного субъекта (в данном случае, сертификатов для доменных имен), вместо этого инфраструктура открытых ключей, предполагает использование цепочек доверия — корневые сертификаты применяются для подписания промежуточных сертификатов, а уже с использованием них подписываются сертификаты конечного субъекта (сертификаты для доменов). При этом, для того, чтобы система доверяла конечному сертификату, она должна быть способна проследить всю цепочку от этого сертификата до одного из корневых сертификатов, которым она доверяет.
После появления проекта Let’s Encrypt, его корневой сертификат ISRG Root X1 (как и любой новый корневой сертификат) не мог быстро попасть в хранилища доверенных сертификатов заметного количества систем. При этом для успешного функционирования проекта выданным сертификатам с самого начала должно было доверять максимальное количество систем «из коробки» (без дополнительных действий со стороны пользователей этих систем). В связи с этим, для сертификатов Let’s Encrypt стала использоваться цепочка доверия, ведущая к корневому сертификату DST Root CA X3, который признается большинством систем:
К настоящему моменту корневой сертификат ISRG Root X1 существует уже более 5 лет и за это время попал в доверенные в большинстве современных систем, ему доверяют:
Windows >= XP SP3 (при условии, что производилось автоматическое обновление корневых сертификатов)
macOS >= 10.12.1
iOS >= 10
Android >= 7.1.1
Mozilla Firefox >= 50.0
Ubuntu >= xenial / 16.04 (с установленными обновлениями)
Debian >= jessie / 8 (с установленными обновлениями)
Java 8 >= 8u141
Java 7 >= 7u151
NSS >= 3.26
Для сертификатов Let’s Encrypt по умолчанию в данный момент предлагается такая цепочка доверия:
IdenTrust’s DST Root CA X3 -> ISRG Root X1 -> Let’s Encrypt R3 -> Конечный сертификат пользователя
Что произойдет 30 сентября?
Срок действия DST Root CA X3 подходит к концу 30 сентября 2021 14:01:15 GMT, что произойдет после этого?
Те системы, которые не доверяют ISRG Root X1, перестанут доверять сертификатам, выпущенным Let’s encrypt (системы будут выдавать предупреждения при посещении сайтов, использующих сертификаты Let’s Encrypt). За исключением Android >= v2.3.6, т.к. Android не учитывает срок действия своих доверенных корневых сертификатов.
Проблема с доверием возникнет также у систем, использующих 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.
Cross Signing
Each of our intermediates represents a single public/private
key pair. The private key of that pair generates the signature for all end-entity
certificates (also known as leaf certificates), i.e. the certificates we issue
for use on your server.
Our RSA intermediates are signed by ISRG Root X1. ISRG Root X1 is widely trusted at this
point, but our RSA intermediates are still cross-signed by IdenTrust’s “DST Root CA X3”
(now called “TrustID X3 Root”) for additional client compatibility. The IdenTrust
root has been around longer and thus has better compatibility with older devices
and operating systems (e.g. Windows XP, Android 7). You can download “TrustID X3 Root” from
IdenTrust (or, alternatively,
you can download a copy from us).
Having cross-signatures means that each of our RSA intermediates has two
certificates representing the same signing key. One is signed by DST Root
CA X3 and the other is signed by ISRG Root X1. The easiest way to distinguish
the two is by looking at their Issuer field.
When configuring a web server, the server operator configures not only the
end-entity certificate, but also a list of intermediates to help browsers verify
that the end-entity certificate has a trust chain leading to a trusted root
certificate. Almost all server operators will choose to serve a chain including
the intermediate certificate with Subject “R3” and
Issuer “ISRG Root X1”. The recommended Let’s Encrypt client software,
Certbot, will make this configuration seamlessly.
Управление корневыми сертификатами в Windows 10 и 11
Как посмотреть список корневых сертификатов на устройстве Windows?
- Чтобы открыть хранилище корневых сертификатов компьютера в Windows /Windows Server, запустите консоль
mmc.exe
; - Нажмите Файл (File) -> Добавить или удалить оснастку (Add/Remove Snap-in), в списке оснасток выберите Сертификаты (Certificates) -> Добавить (Add);
- В диалоговом окне выберите что вы хотите управлять сертификатами учетной записи компьютера (Computer account);

- Далее -> Ok -> Ok;
- Разверните Certificates (Сертификаты) -> Trusted Root Certification Authorities Store (Доверенные корневые сертификаты). В этом списке содержится список доверенных корневых сертификатов вашего компьютера.
Вы можете вывести список доверенных корневых сертификатов на вашем компьютере со сроками их действия с помощью PowerShell:
Можно вывести список истекших сертификатов, или которые истекут в ближайшие 30 дней:

Вы можете вручную перенести файл корневого сертификата с одного компьютера на другой с помощью функцию Экспорта/Импорта.
- Вы можете экспортировать любой сертификат .CER в файл, щелкнув по нему и выбрав “Все задачи” -> “Экспорт”;

- Затем с помощью команды Импорт можно импортировать этот сертификат на другом компьютере.

Roots
Similar to intermediates, root certificates can be cross-signed, often to increase client
compatibility. Our ECDSA root, ISRG Root X2 was generated in fall 2020 and is the root
certificate for the ECDSA hierarchy. It is represented by two certificates: one that is
self-signed and one that is signed by ISRG Root X1.
All certificates signed by the ECDSA intermediate “E1” will come with a chain including an intermediate
certificate whose Subject is “ISRG Root X2” and whose Issuer is “ISRG Root X1”. Almost all server operators
will choose to serve this chain as it offers the most compatibility until ISRG Root X2
is widely trusted.
Установка корневого сертификата в Linux
Для обновления хранилища доверенных сертификатов в Linux вам нужен файл сертификата в формате PEM с расширением файла .crt. PEM сертификат представляет собой текстовый файл в формате base64, который содержит в начале файла строку —-BEGIN CERTIFICATE—- и в конце ——END CERTIFICATE——.

Если ваш файл сертификата в формате DER, вы можете конвертировать его в PEM формат с помощью утилиты openssl:
$ openssl x509 -in my_trusted_sub_ca.der -inform der -out my_trusted_sub_ca.cer
Сначала рассмотрим, как добавит корневой сертификат вашего CA в доверенные в дистрибутивах Linux на базе DEB (Ubuntu, Debian, Mint, Kali Linux).
Обновите хранилище сертификатов командой:
$ sudo update-ca-certificates -v
Если команда не найдена, установите пакет в Ubuntu:
$ sudo apt-get install -y ca-certificates

Если сертификаты успешно добавлены, появится сообщение о том, что сертфикат скопирован в /etc/ssl/certs/:
Updating certificates in /etc/ssl/certs… 2 added, 9 removed; done. Running hooks in /etc/ca-certificates/update.d
Также вы можете добавить новые сертификаты в хранилище с помощью команды:
$ sudo dpkg-reconfigure ca-certificates
Выберите из списка сертификаты, которые нужно добавить в доверенные.

В Linux список доверенных сертификатов содержится в файле /etc/ssl/certs/ca-certificates.crt. Обе рассмотренные выше команды обновят этот файл и добавят в информацию о новых сертификатах.
Вы можете проверить, что ваши сертификаты были добавлены в доверенные с помощью команды:
Укажите часть Common Name вашего сертификата вместо YourCASubj для поиска в хранилище по subject.

Вы можете убедиться, что ваша ОС доверяет сертификату с помощью команду:
$ openssl verify my_trusted_sub_ca.crt

Если Linux не доверяет сертификату, появится ошибка:
error 20 at 0 depth lookup: unable to get local issuer certificate error my_trusted_sub_ca.crt: verification failed
Теперь проверьте, что на сайте используется доверенный SSL сертификат с помощью curl:
$ curl –I https://www.sberbank.ru

Можно также вручную добавить путь к сертификату:
exta/mycert1.crt
$ sudo update-ca-certificates
Чтобы удалить сертификат, удалите ваш crt файл:
И обновите хранилище:
$ sudo update-ca-certificates --fresh
В дистрибутивах Linux на базе RPM (CentOS, Oracle, RHEL, Rocky Linux, Fedora) для добавления сертификата в доверенные:
- Установите пакет ca-certificates:
# yum install ca-certificates - Скопируйте файл сертификата в каталог /etc/pki/ca-trust/source/anchors/:
# cp mycert.crt /etc/pki/ca-trust/source/anchors/ - Обновите хранилище:
# update-ca-trust force-enable
# update-ca-trust extract
Корневые сертификаты
Как и промежуточные сертификаты, корневые сертификаты могут быть кросс-подписаны, часто для увеличения клиентской совместимости. Наш корневой ECDSA-сертификат, ISRG Root X2 был создан осенью 2020 года и является корневым сертификатом для иерархии ECDSA. Он представлен двумя сертификатами: самоподписанным и подписанным ISRG Root X1.
Все сертификаты, подписанные промежуточным ECDSA-сертификатом “E1”, будут иметь цепочку с промежуточным сертификатом, у которого субъект “ISRG Root X2”, а издатель “ISRG Root X1”. Почти все сервера выберут для обслуживания эту цепочку, поскольку она обеспечивает наибольшую совместимость до тех пор, пока ISRG Root X2 не получит широкого доверия.
Прозрачность сертификата
В Let’s Encrypt мы в нацелены на прозрачность в наших процессах и в сертификатах, которые выпускаем. Мы записываем сертификаты в журнал Certificate Transparency сразу, как только выпускаем их. Все наши сертификаты доступны по ссылкам:
Certificate Transparency
We are dedicated to transparency in our operations and in the certificates we
issue. We submit all certificates to Certificate Transparency
logs as we issue them. You can view all
issued Let’s Encrypt certificates via these links:
Что со всем этим делать?
На стороне клиента
Linux
Для того, чтобы проверить, как поведёт себя ваша система при обращении к сайтам, использующим сертификаты Let’s Encrypt, после 30 сентября, можно воспользоваться утилитой faketime. В Debian и Ubuntu она доступна в пакете faketime.
Если всё в порядке, curl вернёт содержимое страницы, если же нет — выдаст сообщение об ошибке:
curl: (60) server certificate verification failed.
В этом случае нужно убедиться, что:
Ваша система доверяет ISRG Root X1
Вы не пользуетесь устаревшей версией OpenSSL
Проверка доверия к 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 на своем сервере, то должны понимать, что после 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-клиента. В частности, в certbot за возможность выбора альтернативной цепочки отвечает параметр —preferred-chain.
Включить/отключить автоматическое обновление корневых сертификатов в Windows
Как мы уже упомянули, Windows по умолчанию сама обновляет корневые сертификаты. Вы можете включить или отключить обновление сертификатов в Windows через GPO или реестр.
Параметр Turn off Automatic Root Certificates Update в этом разделе позволяет отключить автоматическое обновление корневых сертификатов через сайт Windows Update. По умолчанию это политика не настроена и Windows всегда пытается автоматически обновлять корневые сертификаты.

Если эта политика не настроена, а сертификаты не обновляются автоматически, проверьте не включен ли вручную параметр реестра, отвечающий за эту настройку. Проверьте значение параметра реестра с помощью PowerShell:
Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot' -Name DisableRootAutoUpdate

Если команда вернет, что значение ключа
DisableRootAutoUpdate=1
, значит на вашем компьютере отключено обновление корневых сертификатов. Чтобы включить его, измените значение параметра на 0.
Добавить корневой доверенный сертификат для браузеров Mozilla, Chrome
Теперь все системные утилиты будут доверять сайтам, использующим данный CA. Но это не повлияет на веб браузеры Mozilla Firefox или Google Chrome. Они по-прежнему будут показывать предупреждение о недоверенном сертификате.
Дело в том, что браузеры Firefox, Chromium, Google Chrome, Vivaldi и даже почтовый клиент Mozilla Thunderbird не используют системное хранилище сертификатов Linux. Хранилище сертификатов для этих программ находится в директории пользователя в файле cert8.db (для Mozilla) или cert9.db (для Chromium и Chrome). Для обновления этих хранилищ сертификатов используется утилита certutil из пакета libnss3-tools.
$ sudo apt install libnss3-tools

Теперь выполните следующие скрипты для добавления ваших сертификатов в хранилище через NSS:
После запуска скрипта, сайтам с данным CA будут доверять все браузеры.
Обновление корневых сертификатов в Windows с помощью GPO в изолированных средах
Если у вас возникла задача регулярного обновления корневых сертификатов в изолированном от Интернета домене Active Directory, есть несколько более сложная схема обновления локальных хранилищ сертификатов на компьютерах домена с помощью групповых политик. В изолированных сетях Windows вы можете настроить обновление корневых сертификатов на компьютерах пользователей несколькими способами.
Первый способ предполагает, что вы регулярно вручную скачиваете и копируете в вашу изолированную сеть файл с корневыми сертификатами, полученный так:
certutil.exe –generateSSTFromWU roots.sst
Второй способ предполагает получение актуальных корневых сертификатов с помощью команды:
Certutil -syncWithWU -f \\dc01\SYSVOL\winitpro.ru\rootcert\
В указанном сетевом каталоге появится ряд файлов корневых сертификатов (CRT) и в том числе файлы (authrootstl.cab, disallowedcertstl.cab, disallowedcert.sst, thumbprint.crt).

Затем с помощью GPP нужно изменить значение параметра реестра RootDirURL в ветке HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate. Этот параметр должен указывать на сетевую папку, из которой клиентам нужно получать новые корневые сертификаты. Перейдите в секцию редактора GPO Computer Configuration -> Preferences -> Windows Settings -> Registry. И создайте новый параметр реестра со значениями:
Action: Update
Hive: HKLM
Key path: Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate
Value name: RootDirURL
Type: REG_SZ
Value data: file://\\dc01\SYSVOL\winitpro.ru\rootcert\

Осталось назначить эту политику на компьютеры и после обновления настроек GPO на клиенте проверить появление новых корневых сертификатов в хранилище.
Утилита rootsupd. exe для обновления сертификатов в Windows XP
В Windows XP для обновления корневых сертификатов использовалась утилита rootsupd.exe. В этой утилита содержится список корневых и отозванных сертификатов, зашитых в которой регулярно обновлялся. Сама утилита распространялась в виде отдельного обновления KB931125 (Update for Root Certificates).
- Скачайте утилиту rootsupd.exe, перейдя по ссылке (по состоянию на 15.07.2019 ссылка не работает, возможно в Microsoft решили убрать ее из общего доступа. На данный момент вы можете скачать утилиту с сайта kaspersky.com — http://media.kaspersky.com/utilities/CorporateUtilities/rootsupd.zip);
- Для установки корневых сертификатов Windows, достаточно запустить файл rootsupd.exe. Но мы попробуем более внимательно рассмотреть его содержимое, распаковав его с помощью команды:
rootsupd.exe /c /t:C:\PS\rootsupd

- Сертификаты содержатся в SST файлах: authroots.sst, delroot.sst и т.п. Для удаления/установки сертификатов можно воспользоваться командами:
updroots.exe authroots.sst
updroots.exe -d delroots.sst
Но, как вы видите, дата создания этих файлов 4 апреля 2013 (почти за год до окончания официальной поддержки Windows XP). Таким образом, с этого времени утилита не обновлялась и не может быть использована для установки актуальных сертификатов. Однако нам чуть позже понадобится файл updroots.exe.
Была информация, что утилиту updroots.exe нежелательно использовать в современных билдах Windows 10 1803+, т.к. она может сломать корневой сертификат Microsoft Root Certificate Authority.
В этой статье мы рассмотрели несколько способов обновления корневых сертификатов на компьютерах Windows, изолированных от Интернета.
Промежуточные сертификаты
Каждый из наших промежуточных сертификатов представляет собой одну публичную/частную ключевую пару. Это позволяет всем основным браузерам принимать наши сертификаты с нашим же корневым сертификатом.
Кросс-подпись означает, что каждый из наших промежуточных сертификатов имеет два сертификата, представляющих один и тот же ключ подписи. Один подписан DST Root CA X3, другой подписан ISRG Root X1. Самый простой способ отличить их — посмотреть на поле “Issuer” (издатель).
При настройке web-сервера, администратор указывает не только листовые сертификаты, но и список промежуточных сертификатов. Это помогает браузеру проверить, входит ли листовой сертификат в цепочку доверия, ведущую к корневому сертификату. Почти все операторы серверов будут выбирать для обслуживания цепочку, включающую промежуточный сертификат с субъектом “R3” и издателем “ISRG Root X1”. Рекомендуемое клиентское программное обеспечение Let’s Encrypt, Certbot, выполнит эту задачу без затруднений.
Root Certificates
Our roots are kept safely offline. We issue end-entity certificates to subscribers from the intermediates in the next section.
For additional compatibility as we submit our new Root X2 to various root programs, we have also cross-signed it from Root X1.
- Active
- ISRG Root X1 (
RSA 4096, O = Internet Security Research Group, CN = ISRG Root X1)- Self-signed: der, pem, txt
- Cross-signed by DST Root CA X3: der, pem, txt
- ISRG Root X1 (
- Active, limited availability
- ISRG Root X2 (
ECDSA P-384, O = Internet Security Research Group, CN = ISRG Root X2)- Self-signed: der, pem, txt
- Cross-signed by ISRG Root X1: der, pem, txt
- ISRG Root X2 (
We’ve set up websites to test certificates chaining to our active roots.
Under normal circumstances, certificates issued by Let’s Encrypt will come from “R3”, an RSA intermediate.
Currently, issuance from “E1”, an ECDSA intermediate, is possible only for ECDSA subscriber keys for allowlisted accounts. In the future, issuance from “E1” will be available for everyone.
Our other intermediates (“R4” and “E2”) are reserved for disaster recovery and will only be used should we lose the ability to issue with our primary intermediates.
We do not use the X1, X2, X3, and X4 intermediates anymore.
IdenTrust has cross-signed our RSA intermediates for additional compatibility.
Список корневых сертификатов в формате STL

Файл authroot.stl представляет собой контейнер со списком отпечатков (thumbprint) доверенных сертификатов Microsoft в формате Certification Trust List.

Данный файл можно установить в системе с помощью утилиты certutil:
certutil -enterprise -f -v -AddStore "Root" "C:\PS\authroot.stl"

Root "Trusted Root Certification Authorities" CTL 0 added to store. CertUtil: -addstore command completed successfully.
Также вы можете импортировать сертификаты из консоли управления сертификатами (Trust Root CertificationAuthorities –>Certificates -> All Tasks > Import). Укажите путь к вашему STL файлу сертификатами.

После выполнения команды, в консоли управления сертификатами (
certmgr.msc
) в контейнере Trusted Root Certification Authorities (Доверенные корневые сертификаты) появится новый раздел с именем Certificate Trust List (Список доверия сертификатов).

certutil -enterprise -f -v -AddStore disallowed "C:\PS\disallowedcert.stl "
Итоги
30 сентября после окончания срока действия сертификата DST Root CA X3 часть пользователей старых устройств столкнутся с тем, что не смогут корректно открывать сайты, использующие сертификаты Let’s Encrypt. Я бы выделил в первую очередь пользователей старых устройств Apple, для которых нет возможности обновиться хотя бы на iOS 10. Кроме того, под раздачу могут попасть различные устройства IoT, старые телевизоры и подобные им устройства, для которых не существует обновлений с новыми корневыми сертификатами.
В то же время, для администраторов серверов с не очень современным софтом, которые могут взаимодействовать с сервисами, использующими сертификаты Let’s Encrypt, еще есть несколько дней на то, чтобы всё проверить и подготовиться к часу X.
Update: Добавил важное дополнение про необходимость проверки всех используемых контейнеров
Update3: Еще один метод решения проблемы для старых OpenSSL, процедура по добавлению сертификата ISRG Root X1 в доверенные в Windows для тех, кто еще не разобрался






