Обновление корневых сертификатов в Windows
12.01.2022
itpro
Windows 10, Windows 11, Windows 7, Windows Server 2019, Групповые политики
комментарий 31
По умолчанию, все операционные системы семейства Windows автоматически получают и обновляют корневые сертификаты с сайта Microsoft. Компания MSFT в рамках программы корневых сертификатов Microsoft Trusted Root Certificate Program, ведет и публикует в своем онлайн хранилище сертификаты для клиентов и устройств Windows. Если проверяемый сертификат в своей цепочке сертификации относится к корневому CA, который участвует в этой программе, Windows автоматически скачает с узла Microsoft Update и добавит такой корневой сертификат в доверенные на вашем компьютере.
В этой статье попробуем разобраться, как в Windows вручную обновить список корневых сертификатов в TrustedRootCA в изолированных сетях, или компьютерах/серверах без прямого подключения к Интернету.
Управление корневыми сертификатами в 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:\LocalMachine\root |format-list
Можно вывести список истекших сертификатов, или которые истекут в ближайшие 30 дней:
Get-ChildItem cert:\LocalMachine\root| Where <$_.NotAfter -lt (Get-Date).AddDays(30)>|select NotAfter, Subject

Вы можете вручную перенести файл корневого сертификата с одного компьютера на другой с помощью функцию Экспорта/Импорта.
- Вы можете экспортировать любой сертификат .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:\Software\Policies\Microsoft\SystemCertificates\AuthRoot’ -Name DisableRootAutoUpdate

Если команда вернет, что значение ключа DisableRootAutoUpdate=1 , значит на вашем компьютере отключено обновление корневых сертификатов. Чтобы включить его, измените значение параметра на 0.
Ручное обновление корневых сертификатов в Windows 10 и 11
Утилита управления и работы с сертификатами Certutil (появилась в Windows 10, для Windows 7 доступна в виде отдельного обновления), позволяет скачать с узлов Windows Update и сохранить в SST файл актуальный список корневых сертификатов.
Для генерации SST файла, на компьютере Windows 10/11 с доступом в Интернет, выполните с правами администратора команду:
certutil.exe -generateSSTFromWU c:\PS\roots.sst

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

В указанном каталоге появится файл SST, содержащий актуальный список сертификатов. Данный файл представляет собой контейнер, содержащий доверенные корневые сертификаты. Дважды щелкните по нему.
В открывшейся mmc консоли вы можете экспортировать любой из полученных сертификатов. В моем случае, список сертификатов содержал 436 элементов. Естественно, экспортировать сертификаты и устанавливать по одному не рационально.
Для установки всех сертификатов из SST файла и добавления их в список корневых сертификатов компьютера можно воспользоваться командами PowerShell:
$sstStore = ( Get-ChildItem -Path C:\ps\rootsupd\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
Запустите оснастку certmgr.msc и убедитесь, что все сертификаты были добавлены в хранилище Trusted Root Certification Authority. В нашем примере на Windows 11 количество корневых сертификатов увеличилось с 34 до 438.

Список корневых сертификатов в формате 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:\PS\authroot.stl»

Также вы можете импортировать сертификаты из консоли управления сертификатами (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:\PS\disallowedcert.stl «
Обновление корневых сертификатов в Windows с помощью GPO в изолированных средах
Если у вас возникла задача регулярного обновления корневых сертификатов в изолированном от Интернета домене Active Directory, есть несколько более сложная схема обновления локальных хранилищ сертификатов на компьютерах домена с помощью групповых политик. В изолированных сетях Windows вы можете настроить обновление корневых сертификатов на компьютерах пользователей несколькими способами.
Первый способ предполагает, что вы регулярно вручную скачиваете и копируете в вашу изолированную сеть файл с корневыми сертификатами, полученный так:
certutil.exe –generateSSTFromWU roots.sst
Затем сертификаты из данного файла можно установить через SCCM или PowerShell логон скрипт в GPO:
$sstStore = ( Get-ChildItem -Path \\dc01\SYSVOL\winitpro.ru\rootcert\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
Второй способ предполагает получение актуальных корневых сертификатов с помощью команды:
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 на клиенте проверить появление новых корневых сертификатов в хранилище.
Обновление корневых сертификатов в Windows 7
Несмотря на то, что Windows 7 уже снята с поддержки, есть много пользователей и компаний, в которых она еще используется.
После установки чистой Windows 7 из образа вы может столкнуться, что многие современные программы и инструменты на ней не работают из-за того, что они подписаны с помощью новых сертификатов. В частности, были жалобы, что в Windows 7 64 без обновления сертификатов не удается установить .Net Framework 4.8. или
vs_Community.exe с ошибкой:
После этого вы можете использовать утилиту certutil для генерации SST файла с сертификатами (на этом или на другом компьютере):
certutil.exe -generateSSTFromWU c:\ps\roots.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:\PS\rootsupd
- Сертификаты содержатся в SST файлах: authroots.sst, delroot.sst и т.п. Для удаления/установки сертификатов можно воспользоваться командами:
updroots.exe authroots.sst
updroots.exe -d delroots.sst
Но, как вы видите, дата создания этих файлов 4 апреля 2013 (почти за год до окончания официальной поддержки Windows XP). Таким образом, с этого времени утилита не обновлялась и не может быть использована для установки актуальных сертификатов. Однако нам чуть позже понадобится файл updroots.exe.
В этой статье мы рассмотрели несколько способов обновления корневых сертификатов на компьютерах Windows, изолированных от Интернета.
Продление сертификата ЦС
Многие из нас имеют в подчинении домены на базе Microsoft Windows и у многих на контроллере домена крутится служба «Центра сертификации» или ЦС.
И периодически там нужно обновлять сертификат этого корневого центра — нашего сервера. Сегодня мы этим и займёмся.
1. Итак, для начала зайдём на наш сервер и откроем оснастку «Центр сертификации«, так же её можно найти в Панели управления -> Администрирование.
Далее выбираем наш сервер в левой части окна, жмём ПКМ (правой кнопкой мыши), идём в пункт «Все задачи» и там выбираем «Обновить сертификат ЦС«

2. После этого у нас выскочит окно с запросом, нажимаем «Да«
3. Далее у нас останавливается служба ЦС и процесс продолжается, выходит следующее окно, которое нам выводит ещё один запрос с информацией о прошлом сертификате и выпускающемся, подтверждаем:
4) После этого служба запустится

и мы в окне корневых сертификатов нашего ЦС увидим новый сертификат, в списке:
Просто? Да, всё очень просто, но если значть что, где и как делается. Если не знать, то не только тратится очень много времени на поиски, но нередко можно сделать совсем не то, что в свою очередь, может повлечь за собой сбой сервера. Поэтому делая что-то, всегда имейте бэкап под рукой, ну и делать всё нужно осознанно и с пониманием процесса. А если есть сомнения или не знаешь — лучше найти тех, для кого это своя, родная стихия.
Всем мира и добра.
Обновление сертификата на подчиненном центре сертификации
Периодически, по истечении срока действия сертификата дочернего центра сертификации (Subordinate или Issuing CA), необходимо выполнять его обновление на корневом центре сертификации (Root CA). Ниже будет описан общий порядок из нескольких простых шагов, которые требуется выполнить, чтобы продлить сертификат дочернего центра сертификации. Дочерний центр сертификации может быть как просто подчиненным ЦС, так и выдающим. В общем случае, порядок обновления сертификата корпоративного (Enterprise) или изолированного (Standalone) совпадает, отличия только в способе передачи файла запроса. В одном случае он может проходить автоматичсеки, в другом — необходимо его передавать вручную.
Обновление сертификата, на Enterprise Root CA
1 Выполнить вход на выдающий Центр сертификации и открыть MMC оснастку Certificate Authority
2 Нажать правой кнопкой мыши на имени ЦС -> All Tasks > Renew CA Certificate![]()
3 Согласиться с остановкой службы центра сертификации (Certificate Services)![]()
4 Отказаться от генерации новой пару ключей открытого и закрытого (Public/Private)![]()
5 Убедиться, что Полное доменное имя (FQDN) соответствует имени Центра сертификации, и выбрать корневой центр сертификации (Root CA), который должен выписать сертификат.
6 Нажать Ok.
7 Войти на корневой центр сертификации и открыть MMC оснастку Certificate Authority
8 Перейти ожидающие запросы (pending request) и разрешить (issue) продление сертификата
9 Перейти в выданные сертификаты (issued certificates)
10 Дважды щелкнуть мышкой на выданном сертификате, перейти на закладку Details и нажать Copy to File
11 В запустившемся мастере экспорта, экспортировать сертификат как Cer файл и скопировать его на выдающий ЦС (Issuing CA)
12 На выдающем ЦС (Issuing CA) нажать правой кнопкйо мыши > All Tasks > Install CA Certificate![]()
13 Согласиться с остановкой службы центра сертификации (Certificate Services)
14 В открывшемся окне изменить фильтр расширение файла на CER, выбрать файл сертификата и нажать Ок
Сертификат выдающего ЦС обновлен
Обновление сертификата, на Standalone Root CA
1 Выполнить вход на выдающий Центр сертификации и открыть MMC оснастку Certificate Authority
2 Нажать правой кнопкой мыши на имени ЦС -> All Tasks > Renew CA Certificate![]()
3 Согласиться с остановкой службы центра сертификации (Certificate Services)![]()
4 Отказаться от генерации новой пару ключей открытого и закрытого (Public/Private)
5 В открывшемся окне нажать Отмена (Cancel)
6 В корне на диске C появится req файл, который необходимо скопировать на корневом центре сертификации (Root CA)
7 Войти на корневой центр сертификации и открыть MMC оснастку Certificate Authority
8 Нажать правой кнопкой мыши на имени ЦС -> All Tasks > Submit New Request![]()
9 Выбрать req файл запроса, который был скопирован с дочернего ЦС и нажать ОК
10 Перейти ожидающие запросы (pending request) и разрешить (issue) продление сертификата
11 Перейти в выданные сертификаты (issued certificates)
12 Дважды щелкнуть мышкой на выданном сертификате, перейти на закладку Details и нажать Copy to File
13 В запустившемся мастере экспорта, экспортировать сертификат как Cer файл и скопировать его на выдающий ЦС (Issuing CA)
14 На выдающем ЦС (Issuing CA) нажать правой кнопкйо мыши > All Tasks > Install CA Certificate![]()
15 Согласиться с остановкой службы центра сертификации (Certificate Services)
16 В открывшемся окне изменить фильтр расширение файла на CER, выбрать файл сертификата и нажать Ок
Сертификат выдающего ЦС обновлен
После обновления сертификата центра сертификации, можно приступать к обновлению сертификатов. Те сертификаты, для которых было настроено автоматическое обновление, обновятся автоматически.
Как перевыпустить корневой сертификат центра сертификации
В домене есть локальный центр сертификации. Когда его устанавливали, был выпущен корневой сертификат, которым подписывали все запросы на новые сертификаты. Пришло время продлевать корневой сертификат центра сертификации, вопрос: как это сделать? Чем заверять корневой сертификат если больше центров сертификации у меня нет? Есть возможность именно продлить текущий что бы работали все подписанные им ранее сертификаты?
Windows werver 2012 R2
Ответы

В общем все оказалось очень просто.
в центре сертификации нажал обновить сертификат ЦС
Так как мне нужно было именно продлить его, я не стал генерировать новую пару ключей.
После автоматической процедуры выпустился новый сертификат с новым сроком.
Распространение по машинам в домене прошло автоматически.
- Помечено в качестве ответа Vector BCO Moderator 18 июня 2021 г. 19:38
Все ответы
вам нужно будет перевыпустить всю цепочку сертификатов, так как не выйдет "продлить" корневой чтоб при этом дочерние об этом были в курсе
The opinion expressed by me is not an official position of Microsoft
- Предложено в качестве ответа Матвеев Леонид 16 июня 2021 г. 18:24
Добрый день!
В домене есть локальный центр сертификации. Когда его устанавливали, был выпущен корневой сертификат, которым подписывали все запросы на новые сертификаты. Пришло время продлевать корневой сертификат центра сертификации, вопрос: как это сделать? Чем заверять корневой сертификат если больше центров сертификации у меня нет? Есть возможность именно продлить текущий что бы работали все подписанные им ранее сертификаты?
Windows werver 2012 R2
Чтобы сохранить правильность подписи выпущенных ЦС сертификатов, можно перевыпустить сертификат корневого ЦС с тем же ключом. Это делается на в консоли управления ЦС на нем самом. Это работает, потому что ЦС, которым заверен сертификат, идентифицируется по отпечатку ключа. Такой фокус помогает, например, когда надо поменять точку распространения списков отзывов.
Только вот в вашем случае этот фокус вряд ли поможет: выпущенные ЦС из состава Windows сертификаты имеют срок действия, не превышающий срок действия ЦС, так что их тоже придется перевыпускать.
PS Сертификат корневого ЦС — самозаверенный, т.е. заверяется им самим. Чтобы другие устройства доверяли цепочкам сертификатов, заверенным этим ЦС, сертификат ЦС должен быть добавлен в список доверенных корневых сертификатов. Если и ЦС, и устройства являются членами одного леса Windows, то это делается автоматически, иначе потребуется устанавливать сертификат ЦС на устройство как доверенный корневой сертификат вручную.