
Все версии Windows имеют встроенную функцию автоматического обновления корневых сертификатов с сайтов Microsoft. MSFT, как часть Microsoft Trusted Root Certificate Program, поддерживает и публикует список доверенных сертификатов для клиентов и устройств Windows в своем онлайн-репозитории. Если проверенный сертификат в своей цепочке сертификации ссылается на корневой центр сертификации, участвующий в этой программе, система автоматически загрузит этот корневой сертификат с серверов Windows Update и добавит его в список доверенных.
В этой статье мы попытаемся выяснить, как вручную обновить список корневых сертификатов в TrustedRootCA в отключенных (изолированных) сетях или на компьютерах/серверах без прямого доступа в Интернет.
- Управление доверенными корневыми сертификатами в Windows 10 и 11
- Как отключить/включить автоматическое обновление корневых сертификатов в Windows?
- Certutil: Загрузка доверенных корневых сертификатов из службы обновления Windows
- Список доверенных сертификатов (STL) в Windows
- Обновление доверенных корневых сертификатов через GPO в изолированной среде
- Как обновить доверенные корневые сертификаты в Windows 7?
- Обновление корневых сертификатов в Windows XP с помощью инструмента Rootsupd.exe
Управление доверенными корневыми сертификатами в Windows 10 и 11
Как просмотреть список доверенных корневых сертификатов на компьютере с Windows?
- Чтобы открыть хранилище корневых сертификатов на компьютере под управлением Windows 11/10/8.1/7 или Windows Server 2022/2019/2016, выполните команду mmc.exe консоль;
- Выберите Файл -> Добавление/удаление оснастки, выберите Сертификаты (certmgr) в списке оснасток -> Добавить;
- Выберите, что вы хотите управлять сертификатами локальных Учетная запись компьютера;
- Далее -> OK -> OK;
- Развернуть Сертификаты узел -> Проверено Корень Сертификация Органы Магазин. В этом разделе содержится список доверенных корневых сертификатов на вашем компьютере.
В консоли 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, используя параметры экспорта/импорта.
- Вы можете экспортировать любой сертификат в файл .CER, щелкнув его и выбрав Все задачи -> Экспорт;
- Вы можете импортировать этот сертификат на другой компьютер с помощью опции Все задачи -> Импорт.
Как отключить/включить автоматическое обновление корневых сертификатов в Windows?
Как мы уже говорили, Windows автоматически обновляет корневые сертификаты. Вы можете включить или отключить обновление сертификатов в Windows с помощью GPO или реестра.
Откройте редактор локальной групповой политики (gpedit.msc) и перейдите в раздел Конфигурация компьютера -> Административные шаблоны -> Система -> Управление интернет-коммуникациями -> Интернет-коммуникации.
[Отключите автоматическое обновление корневых сертификатов опция в этом разделе позволяет отключить автоматическое обновление корневых сертификатов через сайты Windows Update. По умолчанию эта политика не настроена, и Windows всегда пытается автоматически обновлять корневые сертификаты.
Если этот параметр GPO не настроен и корневые сертификаты не обновляются автоматически, проверьте, включен ли этот параметр вручную в реестре. Проверьте значение параметра реестра с помощью PowerShell:
Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot' -Name 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.
В результате в целевом каталоге появится SST-файл, содержащий актуальный список корневых сертификатов. Дважды щелкните его, чтобы открыть. Этот файл представляет собой контейнер, содержащий доверенные корневые сертификаты.
Как видите, открывается знакомая оснастка 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.
Список доверия сертификатов (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 представляет собой контейнер со списком отпечатков доверенных сертификатов в формате Certificate Trust List.
Вы можете установить этот CTL-файл в доверенный корневой центр сертификации с помощью команды 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.
Вы также можете импортировать сертификаты с помощью консоли управления сертификатами (Корень доверия Центры сертификации -> Сертификаты -> Все задания -> Импорт). Укажите путь к файлу STL с отпечатками сертификатов.
После выполнения команды появится новый раздел Certificate Trust List в Доверенные корневые центры сертификации контейнер консоли диспетчера сертификатов (certmgr.msc
).
Таким же образом можно загрузить и установить список отозванных (запрещенных) сертификатов, которые были удалены из программы корневых сертификатов. Для этого загрузите файл 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).
Затем используйте параметры групповой политики, чтобы изменить значение параметра реестра 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\
Остается связать эту политику с OU компьютера и после обновления параметров 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.
Чтобы обновить корневые сертификаты в 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 (Обновление для корневых сертификатов). Давайте посмотрим, сможем ли мы использовать его сейчас.
- Скачайте 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; - Чтобы установить корневые сертификаты 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). Таким образом, с тех пор инструмент не обновлялся и не может быть использован для установки современных сертификатов.
Но вы можете использовать инструмент cerutil в Windows 10/11 для загрузки файла root.sst, скопировать этот файл в Windows XP и установить сертификат с помощью updroots.exe:
updroots.exe c:\temp\roots.sst
В этой статье мы рассмотрели несколько способов обновления доверенных корневых сертификатов на компьютерах сети Windows, изолированных от Интернета (отсоединенная среда).