Обновление списка доверенных корневых сертификатов в Windows

Все версии Windows имеют встроенную функцию автоматического обновления корневых сертификатов с сайтов Microsoft. MSFT, как часть Microsoft Trusted Root Certificate Program, поддерживает и публикует список доверенных сертификатов для клиентов и устройств Windows в своем онлайн-репозитории. Если проверенный сертификат в своей цепочке сертификации ссылается на корневой центр сертификации, участвующий в этой программе, система автоматически загрузит этот корневой сертификат с серверов Windows Update и добавит его в список доверенных.

Windows обновляет список доверенных корневых сертификатов (CTL) раз в неделю. Если у Windows нет прямого доступа к Windows Update, система не сможет обновить корневые сертификаты. Поэтому у пользователя могут возникнуть проблемы при просмотре веб-сайтов (SSL-сертификаты которых подписаны недоверенным ЦС – см. статью “Ошибка Chrome SSL: This site can’t provide a secure connection”), а также при установке/запуске подписанных скриптов и приложений.

В этой статье мы попытаемся выяснить, как вручную обновить список корневых сертификатов в TrustedRootCA в отключенных (изолированных) сетях или на компьютерах/серверах без прямого доступа в Интернет.

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

Управление доверенными корневыми сертификатами в Windows 10 и 11

Как просмотреть список доверенных корневых сертификатов на компьютере с Windows?

  1. Чтобы открыть хранилище корневых сертификатов на компьютере под управлением Windows 11/10/8.1/7 или Windows Server 2022/2019/2016, выполните команду mmc.exe консоль;
  2. Выберите Файл -> Добавление/удаление оснастки, выберите Сертификаты (certmgr) в списке оснасток -> Добавить;
  3. Выберите, что вы хотите управлять сертификатами локальных Учетная запись компьютера;запуск оснастки управления сертификатами в windows 10
  4. Далее -> OK -> OK;
  5. Развернуть Сертификаты узел -> Проверено Корень Сертификация Органы Магазин. В этом разделе содержится список доверенных корневых сертификатов на вашем компьютере.

В консоли mmc вы можете просмотреть информацию о любом сертификате или удалить его из доверенных.

Вы также можете получить список доверенных корневых сертификатов с указанием сроков их действия с помощью PowerShell:

Get-Childitem cert:\LocalMachine\root |format-list

Вы можете получить список сертификатов с истекшим сроком действия или сертификатов, срок действия которых истекает в ближайшие 60 дней:

Get-ChildItem cert:\LocalMachine\root|Where {$_.NotAfter -lt  (Get-Date).AddDays(60)}|select NotAfter, Subject

список просроченных доверенных корневых сертификатов в WIndows с помощью powershell

В целях безопасности рекомендуется периодически проверять хранилище доверенных сертификатов на своем компьютере на наличие подозрительных и отозванных сертификатов с помощью команды Sigcheck инструмент. Этот инструмент позволяет сравнить список сертификатов, установленных на компьютере, со списком корневых сертификатов на сайте Microsoft (можно скачать автономный файл с актуальными сертификатами authrootstl.cab).

Вы можете вручную перенести файл корневого сертификата между компьютерами под управлением Windows, используя параметры экспорта/импорта.

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

Как отключить/включить автоматическое обновление корневых сертификатов в Windows?

Как мы уже говорили, Windows автоматически обновляет корневые сертификаты. Вы можете включить или отключить обновление сертификатов в Windows с помощью GPO или реестра.

Откройте редактор локальной групповой политики (gpedit.msc) и перейдите в раздел Конфигурация компьютера -> Административные шаблоны -> Система -> Управление интернет-коммуникациями -> Интернет-коммуникации.

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

Групповая политика: отключение автоматического обновления корневых сертификатов в Windows

Если этот параметр GPO не настроен и корневые сертификаты не обновляются автоматически, проверьте, включен ли этот параметр вручную в реестре. Проверьте значение параметра реестра с помощью PowerShell:

Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot' -Name DisableRootAutoUpdate

Параметр реестра DisableRootAutoUpdate

Если команда возвращает, что значение параметра DisableRootAutoUpdate параметр реестра 1, то обновление корневых сертификатов на вашем компьютере отключено. Чтобы включить его, измените значение параметра на 0.

Certutil: Загрузка доверенных корневых сертификатов из Windows Update

Certutil.exe CLI-инструмент для управления сертификатами (представлен в Windows 10, для Windows 7 доступен в виде отдельного обновления). С его помощью можно загрузить актуальный список корневых сертификатов из Windows Update и сохранить его в SST-файле.

Чтобы создать SST-файл на компьютере под управлением Windows 10 или 11 и с прямым доступом в Интернет, откройте поднятую командную строку и выполните команду:

certutil.exe -generateSSTFromWU C:\PS\roots.sst

Updated SST file.
CertUtil: -generateSSTFromWU command completed successfully.

certutil.exe -generateSSTFromWU roots.sst

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

roots.sst список доверенных корневых сертификатов MSFT

Как видите, открывается знакомая оснастка Certificate Management, из которой можно экспортировать любой из имеющихся сертификатов. В моем случае в списке сертификатов было 358 элементов. Очевидно, что экспортировать сертификаты и устанавливать их по одному нерационально.

Совет. Сайт certutil -syncWithWU можно использовать для генерации отдельных файлов сертификатов. Полученные таким образом сертификаты можно развернуть на устройствах Windows с помощью GPO.

Можно использовать сценарий PowerShell для установки всех сертификатов из файла SST и добавления их в список доверенных корневых сертификатов на компьютере:

$sstStore = ( Get-ChildItem -Path C:\ps\rootsupd\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root

Запустите сценарий certmgr.msc и убедитесь, что все сертификаты были добавлены в Доверенный корневой центр сертификации. В моем примере на Windows 11 количество корневых сертификатов увеличилось с 34 до 438.

установка доверенных корневых сертификатов microsoft в Windows с помощью powershell

Чистая копия Windows после установки содержит лишь небольшое количество сертификатов в корневом хранилище. Если компьютер подключен к Интернету, остальные корневые сертификаты будут установлены автоматически (по требованию), если ваше устройство обратится к сайту HTTPS или сертификату SSL, в цепочке доверия которого есть отпечаток Microsoft CTL. Поэтому, как правило, нет необходимости сразу же добавлять все сертификаты, которым доверяет Microsoft, в локальное хранилище сертификатов.

Список доверия сертификатов (STL) в Windows

A Список доверенных сертификатов (CTL) – это просто список данных (например, хэшей сертификатов), подписанных доверенной стороной (в данном случае компанией Microsoft). Клиент Windows периодически загружает из Windows Update этот CTL, в котором хранятся хэши всех доверенных корневых центров сертификации. Следует понимать, что этот CTL не содержит самих сертификатов, только их хэши и атрибуты (например, Friendly Name). Устройства Windows могут загружать доверенный сертификат из Certificate Trust List по требованию.

Вы можете вручную загрузить и установить файл CTL. Для этого загрузите файл http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab (обновляется дважды в месяц). Используя любой архиватор (или даже проводник Windows), распакуйте содержимое файла authrootstl.cab архив. Он содержит один authroot.stl файл.

authroot.stl.

Файл Authroot.stl представляет собой контейнер со списком отпечатков доверенных сертификатов в формате Certificate Trust List.

Список доверия сертификатов Microsoft

Вы можете установить этот CTL-файл в доверенный корневой центр сертификации с помощью команды certutil:

certutil -enterprise -f -v -AddStore "Root" "C:\PS\authroot.stl"

certutil install cert trusted list

root "Trusted Root Certification Authorities"
CTL 0 added to store.
CertUtil: -addstore command completed successfully.

Вы также можете импортировать сертификаты с помощью консоли управления сертификатами (Корень доверия Центры сертификации -> Сертификаты -> Все задания -> Импорт). Укажите путь к файлу STL с отпечатками сертификатов.

импорт доверенных корневых сертификатов с помощью оснастки certmgr

После выполнения команды появится новый раздел Certificate Trust List в Доверенные корневые центры сертификации контейнер консоли диспетчера сертификатов (certmgr.msc).

certmgr Microsoft Certificate Trust List Publisher

Таким же образом можно загрузить и установить список отозванных (запрещенных) сертификатов, которые были удалены из программы корневых сертификатов. Для этого загрузите файл disallowedcertstl.cab файл (http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab), извлеките его и добавьте в хранилище недоверенных сертификатов командой:

certutil -enterprise -f -v -AddStore disallowed "C:\PS\disallowedcert.stl"

Обновление доверенных корневых сертификатов через GPO в изолированной среде

Если перед вами стоит задача регулярного обновления корневых сертификатов в изолированном от Интернета домене Active Directory, существует несколько более сложная схема обновления локальных хранилищ сертификатов на компьютерах, подключенных к домену, с помощью групповых политик. Вы можете настроить обновление корневых сертификатов на пользовательских компьютерах в отсоединенных сетях Windows несколькими способами.

Первый способ предполагает, что вы регулярно вручную загружаете и копируете файл с корневыми сертификатами в изолированную сеть. Загрузить файл с текущими корневыми сертификатами Microsoft можно следующим образом:

certutil.exe –generateSSTFromWU roots.sst

Затем корневые сертификаты из этого файла можно развернуть с помощью SCCM или сценария запуска PowerShell в GPO:

$sstStore = (Get-ChildItem -Path \\fr-dc01\SYSVOL\woshub.com\rootcert\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root

Второй способ загрузить настоящие корневые сертификаты Microsoft с помощью команды:

Certutil -syncWithWU -f \\fr-dc01\SYSVOL\woshub.com\rootcert\

В указанной общей сетевой папке появится несколько файлов корневых сертификатов (формат файла CRT) (включая файлы authrootstl.cab, disallowedcertstl.cab, disallowedcert.sst, thumbprint.crt).

Certutil syncWithWU: получение последних корневых сертификатов из обновления windows

Затем используйте параметры групповой политики, чтобы изменить значение параметра реестра RootDirURL в разделе HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate. Этот параметр должен указывать на общую сетевую папку, из которой компьютеры Windows будут получать новые корневые сертификаты. Запустите консоль GPMC.msc домена, создайте новый GPO, переключитесь в режим редактирования политики и разверните раздел Конфигурация компьютера -> Предпочтения -> Параметры Windows -> Реестр. Создайте новое свойство реестра со следующими параметрами:

  • Действие: Обновить
  • Улей: HKLM
  • Путь к ключу: Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate
  • Имя значения: RootDirURL
  • Тип: REG_SZ
  • Данные о значении: file://\\\fr-dc01\SYSVOL\woshub.com\rootcert\

GPP: установите значение реестра RootDirURL для обновления доверенных корневых сертификатов в изолированной среде

Остается связать эту политику с OU компьютера и после обновления параметров GPO на клиенте проверить наличие новых корневых сертификатов в хранилище сертификатов.

Параметр GPO Выключить автоматическое обновление корневых сертификатов в разделе Конфигурация компьютера -> Административные шаблоны -> Система -> Управление интернет-коммуникациями -> параметры интернет-коммуникаций должны быть отключены или не настроены.

Как обновить доверенные корневые сертификаты в Windows 7?

Несмотря на то, что Windows 7 находится на стадии окончания поддержки, многие пользователи и компании все еще используют ее.

После установки чистого образа Windows 7 вы можете обнаружить, что многие современные программы и инструменты не работают на ней, поскольку они подписаны новыми сертификатами. В частности, поступают жалобы на то, что .Net Framework 4.8 или Microsoft Visual Studio (vs_Community.exe) не могут быть установлены на Windows 7 SP1 x64 без обновления корневых сертификатов.

The installer manifest failed signature validation.

Или

NET Framework has not been installed because a certificate chain could not be built to a trusted root authority.

манифест программы установки visual studio windows 7 не прошел проверку подписи

Чтобы обновить корневые сертификаты в 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:\ps\roots.sst

Теперь вы можете импортировать сертификаты в доверенные:

Запустите MMC -> добавить оснастку -> сертификаты -> учетная запись компьютера > локальный компьютер. Щелкните правой кнопкой мыши Доверенный корневой центр сертификации, Все задачи -> Импорт, найдите свой файл SST (в типе файла выберите Microsoft Serialized Certificate Store – *.sst) -> Откройте -> Поместите все сертификаты в следующее хранилище -> Доверенные корневые центры сертификации.

Обновление корневых сертификатов в Windows XP с помощью программы Rootsupd.exe

В Windows XP rootsupd.exe Утилита использовалась для обновления корневых сертификатов компьютера. Список корневых и отозванных сертификатов в ней регулярно обновлялся. Утилита распространялась в виде отдельного обновления KB931125 (Обновление для корневых сертификатов). Давайте посмотрим, сможем ли мы использовать его сейчас.

  1. Скачайте rootsupd.exe утилита по следующей ссылке http://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe. На данный момент (январь 2021 года) ссылка не работает, Microsoft решила удалить ее из публичного доступа. Сегодня вы можете загрузить файл rootsupd.exe с сайта Касперского – http://media.kaspersky.com/utilities/CorporateUtilities/rootsupd.zip;
  2. Чтобы установить корневые сертификаты Windows, просто выполните команду rootsupd.exe файл. Но мы попробуем изучить его содержимое более тщательно. Извлеките сертификаты из исполняемого файла с помощью команды: rootsupd.exe /c /t: C:\PS\rootsupdrootsupd.exe
  3. Сертификаты хранятся в SST-файлах, таких как authroots.sst, delroot.sst и т. д. Чтобы удалить или установить сертификаты, можно воспользоваться следующими командами:
    updroots.exe authroots.sst
    updroots.exe -d delroots.sst

Однако, как вы можете видеть, эти файлы сертификатов были созданы 4 апреля 2013 года (почти за год до окончания официальной поддержки Windows XP). Таким образом, с тех пор инструмент не обновлялся и не может быть использован для установки современных сертификатов.

Но вы можете использовать инструмент cerutil в Windows 10/11 для загрузки файла root.sst, скопировать этот файл в Windows XP и установить сертификат с помощью updroots.exe:

updroots.exe c:\temp\roots.sst

Есть информация, что инструмент updroots.exe не рекомендуется использовать в современных сборках Windows 10 1803+ и Windows 11, так как он может сломать корневой ЦС Microsoft на устройстве.

В этой статье мы рассмотрели несколько способов обновления доверенных корневых сертификатов на компьютерах сети Windows, изолированных от Интернета (отсоединенная среда).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *