Внимание:
Если вы технический специалист, не хотите читать ничего лишнего, а просто желаете получить готовое решение, переходите сразу к этому разделу.
Дисклеймер:
Статья сугубо техническая, несмотря на вольный и слегка художественный стиль повествования в самом начале. В ней приводятся несколько проверенных решений реально существующей проблемы, появившейся незадолго до написания статьи и затронувшей миллионы устройств по всему миру.
Эпиграф:
Инженер не должен все знать. Он должен знать, где найти решение.
Итак, свершилось! В очередной раз где-то на неизвестной горе засвистел герой народных присказок, известный как Рак, в то время как другой герой этих же присказок, даже пребывая в жаренном состоянии, начал клевать ягодицы расслабленных пользователей интернета под обеспокоенным взором крестящихся мужиков, напуганных очередным раскатом грома.
Конец света (по мнению многих обывателей) начался буднично. В красивый и приятный осенний день 1 октября 2021 года, который пришелся на всегда ожидаемую из-за предстоящих выходных и слегка сумбурную из-за начала нового месяца пятницу, многочисленные пользователи довольно-таки старых, но все еще бережно хранимых и даже, пусть со скрипом, но вполне себе работающих устройств, вдруг не смогли зайти на свои любимые сайты.
Вот представьте: хотите вы с утра включить онлайн радио и послушать музыку, а взамен получаете сообщение «Ваше подключение не является приватным». Или вам по работе позарез нужно зайти на определенный сайт со своей учетной записью, а вместо этого вы видите на экране «Часы спешат. Не удалось установить защищенное соединение с доменом из-за неверных настроек системных часов и календаря». Вы пытаетесь хотя бы почитать новости, но при попытке открыть сайт по ссылке страница просто не загружается. Как работать в таких условиях? Чем не конец света?
На самом деле причина таких ошибок проста и очевидна: вы используете устаревшую технику и такие же устаревшие технологии. Неважно, почему — у каждого есть свои причины и никто здесь не собирается их оспаривать. Важно, что из-за этого становится недоступной значительная часть информации и невозможной определенная деятельность в сети интернет. Давайте для начала установим причину такого положения дел.
Почему перестали открываться сайты на старых компьютерах и смартфонах?
Начиная с 30 сентября 2021 года миллионы пользователей по всему земному шару больше не могут пользоваться многими интернет-сайтами. В этот день истек срок действия корневого сертификата IdenTrust DST Root CA X3, и это ломает работу интернета на миллионах устройств по всему миру, которые давно не получали обновления своего программного обеспечения. Наиболее часто ошибка отображается как NET::ERR_CERT_DATE_INVALID
.
Сертификат IdenTrust DST Root CA X3 выпущен некоммерческим удостоверяющим центром Let’s Encrypt, который предоставляет на безвозмездной основе криптографические сертификаты для TLS-шифрования. Протокол TLS обеспечивает зашифрованную передачу данных между узлами компьютерной сети. Если сертификат TLS на устройстве просрочен, то соединиться с другим узлом сети оно не может.
Сертификат IdenTrust DST Root CA X3 используется на миллионах устройств по всему миру. Это и Android-смартфоны, и техника Apple, и даже игровые приставки, не говоря о компьютерах под управлением Windows. Одних только устройств со старыми и не обновляемыми версиями Android (в основном, это смартфоны и планшеты) сегодня насчитывается более 213 млн. Подробно об этом писали многие издания, например, C-News.
Что делать, если сайт не открывается на старом компьютере или телефоне?
Решить проблему можно или установкой свежего программного обеспечения (ПО), или покупкой современного устройства. Установить свежее ПО на старую технику не всегда возможно, но зато современные устройства под управлением актуальных операционных систем Windows, iOS, Linux, Android не подвержены описываемой проблеме, так как централизованно обновляются и всегда работают с актуальным списком сертификатов безопасности. Так что обновление техники и программного обеспечения — это наилучший способ даже не знать о существовании такой беды, как невозможность открыть некоторый сайт в браузере из-за проблем с сертификатом безопасности. К тому же, обновление всегда дает значительные преимущества в плане скорости и комфорта работы. Но, к сожалению, обновление техники по совершенно разным причинам доступно далеко не каждому.
Конечно, надо понимать, что переход на новую технику и на новые версии ПО — это неизбежность. Ничто не стоит на месте, все в мире развивается, и рано или поздно мы будем использовать все более новые поколения устройств и новые версии программного обеспечения. При этом старое ПО и старая аппаратура с определенного момента перестают быть интересными производителям, и их поддержка прекращается. Как только это случается, все сторонние производители техники и разработчики программ также перестают задумываться о совместимости своих продуктов со старыми моделями и версиями. Более того, многие из них намеренно отключают возможность использования устаревшей техники со своими новыми продуктами, как в целях улучшения безопасности пользователей, так и в своих сугубо коммерческих целях.
К примеру, компания Microsoft прекратила поддержку Windows XP еще в 2005 году (в 2009 году для 64-битной версии, в 2014 — расширенную поддержку, в 2019 — поддержку версии для банкоматов). Поддержка все еще популярной Windows 7 прекращена в 2015 году, расширенная поддержка — в 2020 году.
Это значит, что все эти версии операционной системы уже давно не получают обновления сертификатов. Как следствие всего перечисленного, разработчики ПО отказываются от поддержки старых платформ в целях обеспечения должного уровня защищенности пользователя. Например, практически все банки уже давно не позволяют своим клиентам получать доступ к собственным денежным средствам с устаревших устройств. При этом Windows 7, и даже Windows XP все еще довольно широко распространены на компьютерах как в частном, так и в корпоративном секторе.
Не совсем по теме
К слову сказать, в качестве небольшого отступления, на тех предприятиях, где я занимаюсь обслуживанием компьютерной техники, на данный момент использование компьютеров более чем 10-летней давности доходит местами до 50%, из них почти половина работает под управлением Windows XP. И это если не считать компьютеры в составе технологического оборудования на производстве. В целом, в моей практике, приходится сталкиваться примерно с 20-30% компьютеров под управлением Windows XP, 50-70% — Windows 7 и 20-30% — Windows 10. Иногда встречаются Windows 8 и Windows 8.1, а вот Mac и Linux — реально единицы.
[свернуть]
Как заставить сайты открываться на старых компьютерах и в старых версиях браузеров?
К счастью, есть несколько вариантов, как можно продлить жизнь старым устройствам и заставить их работать в современных реалиях. Сразу скажу, что все эти решения временные и ненадежные. Самым правильным и надежным решением остается обновление техники и используемого ПО.
Как временное решение проблемы с невозможностью открыть сайт из-за проблем с сертификатами можно попробовать обновить списки актуальных и отозванных сертификатов безопасности. На старых устройствах придется делать это вручную. На данный момент существует несколько вариантов обновления сертификатов, все эти варианты мне удалось найти в сети интернет. Конечно, на практике все их опробовать не удалось, но упомянуть даже не опробованные варианты все же стоит.
Ручное обновление корневых сертификатов
Итак, при попытке соединения с сервером по шифрованным протоколам SSL/TLS (то есть, по протоколу HTTPS) может возникать ошибка:
SSL error 0x80090325 Цепочка сертификатов выпущена центром сертификации, не имеющим доверия.
Это лишь вариант описания ошибки, текст сообщения о невозможности установки защищенного соединения может быть и другим. Некоторые сервера, например, пишут о возможном несоответствии системного времени на компьютере с реальным временем. Причина заключается в истечении срока действия корневого цифрового сертификата IdenTrust DST Root CA X3, которым подписаны сертификаты от популярного удостоверяющего центра Let’s Encrypt. Им выпущено множество SSL сертификатов (более чем для 250 миллионов доменных имен) для веб-сайтов, почтовых серверов и других служб.
Для решения проблемы Let’s Encrypt уже более 5 лет использует подпись корневым сертификатом ISRG Root X1, действующим до 2035 года. Однако устройства, программы и операционные системы, не получающие автоматические обновления, не могут сами получить этот сертификат. Например, не обновляются версии:
- Android 7.1.1 и старше;
- Mozilla Firefox до 50.0;
- MacOS 10.12.0 и старше;
- Windows XP (включая Service Pack 3);
- iOS-устройств до версии iOS 10;
- OpenSSL 1.0.2 и ниже;
- Ubuntu до версии 16.04;
- Debian 8 и старше.
Для восстановления возможности работы устаревшего устройства или программного обеспечения следует обновить операционную систему или добавить SSL-сертификат ISRG Root X1 в список доверенных.
Установка корневого сертификата в ОС Windows, iOS, Linux, Android
Итак, вариант первый. Сразу скажу, что этот вариант я пробовал только на виртуальной машине с Windows XP, и он сработал только частично. Описание варианта взято здесь.
Чтобы установить новый корневой сертификат, надо скачать на устройство файл сертификата и импортировать его в список доверенных. В ОС Windows достаточно дважды щелкнуть на файле сертификата, чтобы просмотреть сведения о нем и получить возможность установить сертификат нажатием на соответствую кнопку.
Более сложный способ установки корневого сертификата для Windows XP описан здесь, хотя и не понятно, зачем такие сложности.
В iOS до 10 версии надо перейти в «Настройки» -> «Основные» -> «Профили и управление устройством», выбрать сертификат ISRG Root X1 и нажать «Установить». Затем в разделе «Настройки» -> «Основные» -> «Доверие сертификатов» включить «Доверять корневым сертификатам полностью».
В Linux необходимо сначала удалить старый корневой сертификат DST Root CA X3 из списка доверенных, для чего надо переместить его в директорию /etc/pki/ca-trust/source/blacklist
, а затем установить доверие к корневому сертификату ISRG Root X1, для чего перенести его в директорию /etc/pki/ca-trust/source/anchors directory
. После этих манипуляций надо обновить списки сертификатов командой update-ca-trust
. Это один из способов. Подробности здесь.
Что касается ОС Android до 7.1.1, то Let’s Encrypt удалось договориться с IdenTrust о выпуске на 3 года кросс-подписи истекшего DST Root CA X3. Таким образом, устройства даже с устаревшими версиями Android не будут сообщать об ошибке как минимум до 2024 года. Действий с ними не требуется.
Дополнение: способ обновления сертификатов на телевизорах LG поду управлением WebOS описан в отдельной статье.
Обновление всех сертификатов безопасности на старых версиях Windows
Закончившийся сертификат Let’s Encrypt — далеко не единственный из тех, которые контролируют доступ пользователей к сайтам. Списки актуальных и отозванных сертификатов постоянно изменяются, и современные операционные системы получают эти списки вместе с собственными автоматическими обновлениями. Поэтому лучшим решением (если не считать обновления устройства) будет приведение всего списка сертификатов на устройстве в соответствие с реальным положением вещей.
В случае с Windows это можно сделать несколькими способами. Первый из них заключается в создании списка актуальных сертификатов на любом компьютере, где установлена современная обновляемая система Windows, и последующем импортировании этих сертификатов на компьютер со старой системой.
Сделать это не очень сложно, если почитать описание данного метода на любом подходящем сайте. Например, здесь есть короткое описание, а здесь — более детальное. Это второй вариант устранения ситуации, когда не работает интернет на старом компьютере. Но на самом деле есть еще более удобный и простой способ.
Быстрый и простой способ обновления сертификатов Windows
Третий вариант исправления проблемы с неработающим интернетом самый простой, если воспользоваться готовым инструментом с этого сайта. Данный способ заключается в использовании списков актуальных и отозванных сертификатов с официального сайта Microsoft и последующей установке этих списков в систему при помощи инструментов, также разработанных Microsoft. Правда, эти инструменты уже официально признаны устаревшими и не поддерживаемыми, но по-прежнему успешно справляются с задачей обновления сертификатов.
Описание метода взято с этого ресурса, за что выражаю автору огромную благодарность.
Итак, чтобы обновить сертификаты безопасности на старом устройстве с Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008 и др., надо скачать и запустить последовательно на выполнение два файла:
- rvkroots_20211001.exe — самораспаковывающийся архив со списком устаревших небезопасных сертификатов, автоматически удаляет эти сертификаты из списка доверенных при запуске файла;
- rootsupd_20211001.exe — самораспаковывающийся архив со списком актуальных сертификатов, автоматически добавляет эти сертификаты в соответствующие хранилища сертификатов при запуске файла.
Списки сертификатов получены с официального сайта Microsoft 1.10.2021 г. (при желании можно распаковать архив без установки и посмотреть содержимое). Для корректного обновления списка сертификатов необходимо запускать файлы от имени пользователя, обладающего правами администратора системы.
Обновление сертификатов проверено на нескольких компьютерах под управлением операционных систем Windos XP SP 3 и Windows 7.
Как еще можно открывать сайты на старых компьютерах и смартфонах?
В отличие от других браузеров, Mozilla Firefox хранит сертификаты в собственном хранилище, не используя для этого хранилище операционной системы. Поэтому на старых устройствах, особенно на смартфонах с Android 5.0 и старше, Let’s Encrypt рекомендует установить браузер Firefox. Что касается Windows XP, то актуальная версия Firefox не поддерживает эту систему, поэтому стоит попробовать скачать и установить более старую версию этого браузера.
Для браузеров на основе движка Chromium (а это почти все популярные браузеры, в том числе Opera, Microsoft Edge, Яндекс Браузер и прочие) в сети встречаются рекомендации по сбросу настроек HSTS для отдельных сайтов. Для этого надо в адресной строке браузера набрать команду chrome://net-internals/#hsts и на открывшейся странице настроек ввести адреса нужных сайтов в раздел Delete domain security policies. На практике эту рекомендацию я не проверял.
Поскольку проблема новая и затрагивает очень большое количество устройств, я буду рад, если описываемые здесь методы решения помогут вам в исправлении проблемы, еще более буду рад распространению ссылок на данный материал. И конечно, можно выразить благодарность даже в материальной форме. Спасибо!
С 1 октября 2021 года закончился срок действия сертификата IdenTrust DST Root CA X3 (одного из основных корневых сертификатов, применяемых в сети), который установлен на многих устройствах.
Из-за этого владельцы ПК на Windows 7, Windows Server 2008 с выключенными обновлениями и Windows XP могут столкнуться с проблемой появления ошибки: «ERR_CERT_DATE_INVALID»,«ERR_DATE_INVALID» и прочими ошибками сертификатов при входе на многие сайты.
Есть два способа решить эту проблему: либо установить новый сертификат, либо установить обновления ОС Windows.
Решение через ручную установку сертификата
Скачать сертификат можно по ссылке: https://letsencrypt.org/certs/isrgrootx1.der / зеркало (.der, 1.35Кб)
Необходимо запустить скачанный файл, на вкладке «Общие» нажать «Установить сертификат».
Выберите расположение «Локальный компьютер» и нажмите «Далее».
Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите «Обзор», выберите раздел «Доверенные корневые центры сертификации», нажмите «ОК» и «Далее», а в следующем окне – «Готово». При появлении вопросов об установке сертификатов – согласитесь на установку.
После этого перезапустите браузер и вновь попробуйте зайти на необходимый сайт.
Решение через установку обновлений
Для решения ошибки сертификата нужно установить обновления KB3020369 и KB3125574:
- KB3020369 из каталога Центра обновлений Microsoft
- KB3125574 из каталога Центра обновлений Microsoft
Дополнительно
Иногда установка одного лишь IdenTrust DST Root CA X3 может не помочь, так же рекомендуем дополнительно установить следующие корневые сертификаты:
- Go Daddy Root Certificate Authority
- GlobalSign Root CA
Обновлено: 24.12.2022
Опубликовано: 03.09.2020
Актуальные системы семейства Windows, подключенные к Интернету, могут автоматически обновлять корневые сертификаты. В противном случае, обновление необходимо выполнять вручную. Если это не делать, мы можем столкнуться с рядом проблем:
- Не открываются или выдают предупреждение безопасности некоторые (или все) сайты, работающие по https.
- Некорректная работа отдельных приложений (например, антивирусных систем).
- Ошибки при подключении по удаленному рабочему столу.
Это пример ошибок, который не претендует на свою полному. Чаще всего, проблемы встречаются на системах, снятых с обслуживания компанией Microsoft (Windows XP, 7, а также Server 2003, 2008).
Обновление сертификатов
Обновление доверенных корневых сертификатов выполняется во время обновления операционной системы. Если последнее включено, то нашего участия не требуется, иначе, можно установить обновление вручную. Пример такого пакета — KB931125 (ссылка).
Однако, если операционная система устарела, разработчик прекращает выпуск обновлений, и мы не можем воспользоваться средствами обновления системы. В таком случае, необходимо сделать выгрузку корневых сертификатов на актуальной системе и перенести их на устаревший.
Получение актуальных сертификатов
Для начала, выгрузим сертификаты на компьютере с актуальной версией Windows (10) и подключением к сети Интернет.
Создадим каталог, в который будет выгружен файл с корневыми сертификатами, например, C:CA (папка CA на диске C).
Открываем командную строку от администратора и вводим команду:
certutil.exe -generateSSTFromWU C:CAroots.sst
* где C:CA — каталог, который мы создали; roots.sst — файл, в который будут выгружены сертификаты.
* если мы получили ошибку Не удается найти указанный файл. 0x80070002, то необходимо убедиться, что каталог CA создан (в нашем примере в корне диска С).
В папке C:CA мы должны увидеть файл roots.sst.
Установка/обновление корневых сертификатов
Полученный на предыдущем этапе файл переносим на компьютер, где необходимо обновить доверенные корневые сертификаты, например, также в папку C:CA. Скачиваем утилиту rootsupd и распаковываем ее в этот же каталог.
Открываем командную строку от администратора и вводим команду:
C:CArootsupd.exe /c /t:C:CA
* где C:CA — папка, в которую мы перенесли корневые сертификаты.
В появившемся окне Roots Update:
… выбираем No, чтобы не переписывать наш файл roots.sst.
В папке C:CA должны появится новые файлы, в том числе, утилита updroots. Вводим теперь команду:
C:CAupdroots.exe C:CAroots.sst
Готово.
Была ли полезна вам эта инструкция?
Да Нет
- Информация о материале:
- Опубликовано: 2020-05-23
- Обновлено: 2020-06-22
- Автор: Олег Головский
Не секрет, что Windows XP отправлена на свалку и более не поддерживается разработчиком, а при использовании различных веб-браузеров могут возникать ошибки SSL сертификата: недостаточно информации для проверки этого сертификата.
Ошибка сертификата в Windows XP может проявляться в разных браузерах включая Opera, Chrome и конечно Internet Explorer — все они используют одно хранилище сертификатов, которое разумеется давно устарело и не обновляется по причине отсутствия поддержки Windows XP. Именно по причине устаревших сертификатов мы и наблюдаем в браузерах ошибки типа: «недостаточно информации для проверки этого сертификата».
Как обновить корневые сертификаты Windows XP
Ручками обновить будет довольно проблематично. Официальных пакетов обновляющих корневые сертификаты Windows XP не существует.
На просторах Интернетов был найден один рецепт, состоящий из «заточки» пакета обновления сертификатов от «висты» под «хр», процесс выглядит следующим образом:
1. Скачиваем «rvkroots.exe» Microsoft download (http://www.microsoft.com/download/details.aspx?id=41542 https://web.archive.org/web/20171119114944/http://download.windowsupdate.com/d/msdownload/update/software/secu/2015/03/rvkroots_3f2ce4676450c06f109b5b4e68bec252873ccc21.exe), unzip его в каталог (например с помощью WinRAR), в файле «rvkroots.inf» переменную VERSION устанавливаем «5,0,2195,0» и VER в «005» соответственно. Скачиваем «http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcert.sst» в каталог куда был распакован «rvkroots.exe» с заменой старого файла. После из всего содержимого каталога создаём самораспаковывающийся архив (Create Self-Extracting Archive) WinRAR отметив SFX опцию и добавив следующие SFX-команды (ака комментарий):
TempMode
Silent=1
Overwrite=1
Setup=Rundll32.exe advpack.dll,LaunchINFSection rvkroots.inf,DefaultInstallТеперь мы имеем файл отзывающий все небезопасные (устаревшие) сертификаты!
2. Для обновления корневых сертификатов (Root Certificate Update) скачиваем «rootsupd.exe» (http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe https://web.archive.org/web/20170829230259/http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe), unzip его в каталог (например с помощью WinRAR), в «rootsupd.inf» значение переменной VERSION ставим «40,0,2195,0» и в VER «040» соответственно, скачиваем в каталог куда был распакован «rootsupd.exe» с заменой старых файлов,
«http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authroots.sst»
«http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/delroots.sst»
«http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/roots.sst»
«http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/updroots.sst»
После из всего содержимого каталога создаём самораспаковывающийся архив (Create Self-Extracting Archive) WinRAR отметив SFX опцию и добавив следующие SFX-команды (ака комментарий):TempMode
Silent=1
Overwrite=1
Setup=Rundll32.exe advpack.dll,LaunchINFSection rootsupd.inf,DefaultInstallТеперь у нас есть файл обновлящий корневые сертификаты!
Эта проблема недавно решалась на удалённой машине Windows XP и уже собраны пакеты для отзыва и обновления корневых сертификатов, кому лень собирать можете скачать уже готовые:
Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!
Браузер Firefox использует собственное хранилище корневых сертификатов и может работать без обновления корневых сертификатов на Windows XP.
По умолчанию, все операционные системы семейства 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 в изолированных сетях, или компьютерах/серверах без прямого подключения к Интернету.
Содержание:
- Управление корневыми сертификатами в Windows 10 и 11
- Включить/отключить автоматическое обновление корневых сертификатов в Windows
- Ручное обновление корневых сертификатов в Windows 10 и 11
- Список корневых сертификатов в формате STL
- Обновление корневых сертификатов в Windows с помощью GPO в изолированных средах
- Обновление корневых сертификатов в Windows 7
- Утилита rootsupd.exe для обновления сертификатов в Windows XP
Примечание. Если ваши компьютеры выходят в Интернет через прокси-сервер, для автоматического обновления корневых сертификатов Microsoft рекомендует открыть прямой доступ (bypass) к веб-узлам Microsoft. Но это не всегда возможно/применимо.
Управление корневыми сертификатами в 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:
Get-Childitem cert:LocalMachineroot |format-list
Можно вывести список истекших сертификатов, или которые истекут в ближайшие 30 дней:
Get-ChildItem cert:LocalMachineroot| Where {$_.NotAfter -lt (Get-Date).AddDays(30)} |select NotAfter, Subject
В целях безопасности рекомендует периодически проверять хранилище доверенных сертификатов на наличие поддельных сертификатов с помощью утилиты Sigcheck. Утилита позволяет сравнить список сертификатов, установленных на компьютере со списком корневых сертификатов на сайте Microsoft (можно скачать офлайн файл с актуальными сертификатами authrootstl.cab).
Вы можете вручную перенести файл корневого сертификата с одного компьютера на другой с помощью функцию Экспорта/Импорта.
- Вы можете экспортировать любой сертификат .CER в файл, щелкнув по нему и выбрав “Все задачи” -> “Экспорт”;
- Затем с помощью команды Импорт можно импортировать этот сертификат на другом компьютере.
Включить/отключить автоматическое обновление корневых сертификатов в Windows
Как мы уже упомянули, Windows по умолчанию сама обновляет корневые сертификаты. Вы можете включить или отключить обновление сертификатов в Windows через GPO или реестр.
Откройте локальный редактор групповой политики (gpedit.msc) и перейдите в раздел Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication.
Параметр Turn off Automatic Root Certificates Update в этом разделе позволяет отключить автоматическое обновление корневых сертификатов через сайт Windows Update. По умолчанию это политика не настроена и Windows всегда пытается автоматически обновлять корневые сертификаты.
Если эта политика не настроена, а сертификаты не обновляются автоматически, проверьте не включен ли вручную параметр реестра, отвечающий за эту настройку. Проверьте значение параметра реестра с помощью PowerShell:
Get-ItemProperty -Path 'HKLM:SoftwarePoliciesMicrosoftSystemCertificatesAuthRoot' -Name DisableRootAutoUpdate
Если команда вернет, что значение ключа
DisableRootAutoUpdate=1
, значит на вашем компьютере отключено обновление корневых сертификатов. Чтобы включить его, измените значение параметра на 0.
Ручное обновление корневых сертификатов в Windows 10 и 11
Утилита управления и работы с сертификатами Certutil (появилась в Windows 10, для Windows 7 доступна в виде отдельного обновления), позволяет скачать с узлов Windows Update и сохранить в SST файл актуальный список корневых сертификатов.
Для генерации SST файла, на компьютере Windows 10/11 с доступом в Интернет, выполните с правами администратора команду:
certutil.exe -generateSSTFromWU c:PSroots.sst
Updated SST file. CertUtil: -generateSSTFromWU command completed successfully.
В результате в целевом каталоге появится файл SST, содержащий актуальный список сертификатов. Дважды щелкните по нему для открытия. Данный файл представляет собой контейнер, содержащий доверенные корневые сертификаты.
В указанном каталоге появится файл SST, содержащий актуальный список сертификатов. Данный файл представляет собой контейнер, содержащий доверенные корневые сертификаты. Дважды щелкните по нему.
В открывшейся
mmc
консоли вы можете экспортировать любой из полученных сертификатов. В моем случае, список сертификатов содержал 436 элементов. Естественно, экспортировать сертификаты и устанавливать по одному не рационально.
Для установки всех сертификатов из SST файла и добавления их в список корневых сертификатов компьютера можно воспользоваться командами PowerShell:
$sstStore = ( Get-ChildItem -Path C:psrootsupdroots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:LocalMachineRoot
Запустите оснастку certmgr.msc и убедитесь, что все сертификаты были добавлены в хранилище Trusted Root Certification Authority. В нашем примере на Windows 11 количество корневых сертификатов увеличилось с 34 до 438.
Чистая копия Windows после установки содержит в корневом хранилище лишь небольшое количество сертификатов. Если компьютер подключен к интернету, остальные корневые сертификаты будут устанавливаться автоматически (по требованию), если ваше устройство попытается получить доступ к HTTPS сайту/SSL сертификату, в чей цепочке доверия есть отпечаток из CTL Microsoft. Поэтому как правило, нет необходимости добавлять в свое локальное хранилище сразу все сертификаты, доверенные Microsoft.
Список корневых сертификатов в формате STL
Есть еще один способ получения списка сертификатов с сайта Microsoft. Для этого нужно скачать файл http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab (обновляется дважды в месяц).С помощью любого архиватора (или проводника Windows) распакуйте содержимое архива authrootstl.cab. Он содержит один файл authroot.stl.
Файл authroot.stl представляет собой контейнер со списком отпечатков (thumbprint) доверенных сертификатов Microsoft в формате Certification Trust List.
Данный файл можно установить в системе с помощью утилиты certutil:
certutil -enterprise -f -v -AddStore "Root" "C:PSauthroot.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 (Список доверия сертификатов).
Аналогичным образом можно скачать и установить список с отозванными сертификатами, которые были исключены из программы Root Certificate Program. для этого, скачайте файл disallowedcertstl.cab (http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab), распакуйте его и добавьте в раздел Untrusted Certificates командой:
certutil -enterprise -f -v -AddStore disallowed "C:PSdisallowedcert.stl "
Обновление корневых сертификатов в Windows с помощью GPO в изолированных средах
Если у вас возникла задача регулярного обновления корневых сертификатов в изолированном от Интернета домене Active Directory, есть несколько более сложная схема обновления локальных хранилищ сертификатов на компьютерах домена с помощью групповых политик. В изолированных сетях Windows вы можете настроить обновление корневых сертификатов на компьютерах пользователей несколькими способами.
Первый способ предполагает, что вы регулярно вручную скачиваете и копируете в вашу изолированную сеть файл с корневыми сертификатами, полученный так:
certutil.exe –generateSSTFromWU roots.sst
Затем сертификаты из данного файла можно установить через SCCM или PowerShell логон скрипт в GPO:
$sstStore = ( Get-ChildItem -Path \dc01SYSVOLwinitpro.rurootcertroots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:LocalMachineRoot
Второй способ предполагает получение актуальных корневых сертификатов с помощью команды:
Certutil -syncWithWU -f \dc01SYSVOLwinitpro.rurootcert
В указанном сетевом каталоге появится ряд файлов корневых сертификатов (CRT) и в том числе файлы (authrootstl.cab, disallowedcertstl.cab, disallowedcert.sst, thumbprint.crt).
Затем с помощью GPP нужно изменить значение параметра реестра RootDirURL в ветке HKLMSoftwareMicrosoftSystemCertificatesAuthRootAutoUpdate. Этот параметр должен указывать на сетевую папку, из которой клиентам нужно получать новые корневые сертификаты. Перейдите в секцию редактора GPO Computer Configuration -> Preferences -> Windows Settings -> Registry. И создайте новый параметр реестра со значениями:
Action: Update
Hive: HKLM
Key path: SoftwareMicrosoftSystemCertificatesAuthRootAutoUpdate
Value name: RootDirURL
Type: REG_SZ
Value data: file://\dc01SYSVOLwinitpro.rurootcert
Осталось назначить эту политику на компьютеры и после обновления настроек GPO на клиенте проверить появление новых корневых сертификатов в хранилище.
Политика Turn off Automatic Root Certificates Update в разделе Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication settings должна быть выключена или не настроена.
Обновление корневых сертификатов в Windows 7
Несмотря на то, что Windows 7 уже снята с поддержки, есть много пользователей и компаний, в которых она еще используется.
После установки чистой Windows 7 из образа вы может столкнуться, что многие современные программы и инструменты на ней не работают из-за того, что они подписаны с помощью новых сертификатов. В частности, были жалобы, что в Windows 7 64 без обновления сертификатов не удается установить .Net Framework 4.8. или
vs_Community.exe с ошибкой:
installer manifest failed signature validation
Чтобы обновить корневые сертификаты в Windows 7, нужно скачать и установить MSU обновление KB2813430 (https://support.microsoft.com/en-us/topic/an-update-is-available-that-enables-administrators-to-update-trusted-and-disallowed-ctls-in-disconnected-environments-in-windows-0c51c702-fdcc-f6be-7089-4585fad729d6).
После этого вы можете использовать утилиту certutil для генерации SST файла с сертификатами (на этом или на другом компьютере):
certutil.exe -generateSSTFromWU c:psroots.sst
Теперь можно импортировать сертификаты в доверенные:
MMC -> add snap-in -> certificates -> computer account > local computer. Перейдите в раздел Trusted root certification authority, выберите All Tasks -> Import, найдите ваш SST файл (в типе файлов выберите Microsoft Serialized Certificate Store — *.sst) -> Open -> Place all certificates in the following store -> Trusted Root Certification Authorities
Утилита 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:PSrootsupd
- Сертификаты содержатся в 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, изолированных от Интернета.