Как обновить сертификаты безопасности windows 10

Все способы:

  • Вывод списка установленных корневых сертификатов
  • Включение автоматического обновления корневых сертификатов
  • Ручное обновление корневых сертификатов
  • Импорт корневых сертификатов с другого компьютера
  • Вопросы и ответы: 0

Вывод списка установленных корневых сертификатов

Если у вас возникло подозрение, что некоторые корневые сертификаты в Windows 10 нужно обновить, не спешите сразу приступать к выполнению действий. Возможно, с ними все нормально, а проблемы в работе конкретного ПО связаны с другими причинами. Узнайте, что именно вам нужно установить или обновить. После этого откройте список корневых сертификатов и проверьте наличие нужных файлов.

  1. Для этого правой кнопкой мыши щелкните по «Пуску» и из появившегося меню выберите пункт «Выполнить».
  2. Введите команду mmc и нажмите Enter, чтобы запустить консоль. Она доступна только в Windows 10 Pro. Если вы получите уведомление об отсутствии команды, прочитайте информацию ниже, где будет показана эта же проверка, но уже через «PowerShell».
  3. Обновление корневых сертификатов в Windows 10-02

  4. В открывшемся окне консоли наведите курсор на меню «Файл» и из него выберите «Добавить или удалить оснастку».
  5. Обновление корневых сертификатов в Windows 10-03

  6. В списке доступных оснасток найдите «Сертификаты» и щелкните по центральной кнопке «Добавить».
  7. Обновление корневых сертификатов в Windows 10-04

  8. Далее достаточно будет кликнуть по «Готово», чтобы подтвердить внесение изменений.
  9. Обновление корневых сертификатов в Windows 10-05

  10. Разверните весь список с папками сертификатов, затем выберите папку «Доверенные корневые центры сертификации» и откройте «Сертификаты». Справа вы видите весь список сертификатов с версиями, датами, информацией о том, кем выдан. Внизу окна будет счетчик элементов в этой папке, что позволит быстрее узнать, сколько всего хранится сертификатов.
  11. Обновление корневых сертификатов в Windows 10-06

Если такой вариант использования консоли вам не подходит или же она недоступна, можно обратиться к «PowerShell». Ее преимущество заключается в том, что помимо основного списка можно вывести на экран только те сертификаты, которые уже закончились или устареют в ближайшие 30 дней.

  1. Вызовите контекстное меню «Пуска» и выберите из него пункт «Windows PowerShell (администратор)».
  2. Введите команду Get-Childitem cert:\LocalMachine\root |format-list и нажмите Enter для получения полного списка корневых сертификатов.
  3. Обновление корневых сертификатов в Windows 10-08

  4. Ознакомьтесь с ним, просмотрите даты и другие сведения, которые интересуют вас в рамках выполнения задачи.
  5. Обновление корневых сертификатов в Windows 10-09

  6. Для просмотра устаревающих сертификатов используйте команду Get-ChildItem cert:\LocalMachine\root| Where {$_.NotAfter -lt (Get-Date).AddDays(30)} |select NotAfter, Subject.
  7. Обновление корневых сертификатов в Windows 10-010

  8. Тут будут отображены только те сертификаты, которые уже устарели или истекут в ближайший месяц.
  9. Обновление корневых сертификатов в Windows 10-011

Увиденные выше инструкции помогут вам получить больше сведений обо всех корневых сертификатах в Windows 10. Отталкиваясь от полученной информации, уже можно сделать вывод о том, нужно ли их обновлять и каким именно образом это будет реализовано.

Включение автоматического обновления корневых сертификатов

Операционная система Виндовс 10 настроена таким образом, что должна сама время от времени обновлять корневые сертификаты, поскольку это напрямую связано с безопасностью пользователей. Если это по каким-то причинам не происходит, следует предположить, что обновление просто запрещено через настройки локальной политики или необходимый параметр, отвечающий за данное действие, отсутствует. Обладатели Windows 10 Pro могут проверить этот запрет через «Редактор локальной групповой политики».

  1. Снова запустите утилиту «Выполнить», используя для этого уже знакомое меню или стандартное сочетание клавиш Win + R.
  2. Введите команду gpedit.msc и нажмите Enter для ее подтверждения.
  3. Обновление корневых сертификатов в Windows 10-013

  4. Отобразится окно «Редактора локальной групповой политики». В нем разверните «Конфигурация компьютера»«Административные шаблоны»«Система».
  5. Обновление корневых сертификатов в Windows 10-014

  6. В папке выберите «Управление связью через Интернет», затем перейдите в каталог «Параметры связи через Интернет».
  7. Обновление корневых сертификатов в Windows 10-015

  8. Отыщите среди политик «Выключить автоматическое обновление корневых сертификатов» и дважды кликните по данному параметру, чтобы открыть его свойства.
  9. Обновление корневых сертификатов в Windows 10-016

  10. Значение должно быть установлено как «Не задано» или «Отключено». В случае необходимости измените его, затем примените изменения и перезагрузите ПК.
  11. Обновление корневых сертификатов в Windows 10-017

Если вы обнаружили, что параметр и так отключен или же нет возможности просмотреть локальные политики, можно воспользоваться «PowerShell» для проверки параметра в реестре. При его наличии и неправильном значении вносятся соответствующие изменения, которые разблокируют автоматическое обновление корневых сертификатов.

  1. Откройте «Windows PowerShell» от имени администратора.
  2. Введите команду Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot' -Name DisableRootAutoUpdate.
  3. Обновление корневых сертификатов в Windows 10-019

  4. Если на экране отобразилась информация о том, что не удается найти путь, значит, данный параметр вовсе отсутствует и не должен влиять на автоматическое обновление корневых сертификатов.
  5. Обновление корневых сертификатов в Windows 10-020

Иногда появляется сообщение о том, что такой параметр существует и имеет значение «1». Если вы столкнулись с такой ситуацией, откройте «Редактор реестра», перейдите по пути HKLM\Software\Policies\Microsoft\SystemCertificates\AuthRoot, отыщите там параметр с названием «DisableRootAutoUpdate» и измените его значение на «0».

Ручное обновление корневых сертификатов

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

  1. Для удобства на диске C (куда установлена ваша ОС), создайте пустую папку под сертификаты. В нашем случае она будет называться «PS» и использоваться в командах. Далее откройте «Командную строку» от имени администратора.
  2. Обновление корневых сертификатов в Windows 10-021

  3. Введите команду certutil.exe -generateSSTFromWU c:\PS\roots.sst, заменив путь на тот, куда вы хотите поместить файл «roots.sst».
  4. Обновление корневых сертификатов в Windows 10-022

  5. По завершении вы должны получить информацию о том, что SST-файл успешно обновлен. Можете закрыть консоль и перейти к следующему шагу.
  6. Обновление корневых сертификатов в Windows 10-023

  7. Откройте созданную ранее папку и дважды кликните по находящемуся в ней файлу «roots.sst».
  8. Обновление корневых сертификатов в Windows 10-024

  9. Должно появиться уведомление от консоли управления (MMC), поскольку именно через нее мы запускаем просмотр сертификатов.
  10. Обновление корневых сертификатов в Windows 10-025

  11. Разверните папку и просмотрите присутствующие тут записи. Если интересуют только конкретные сертификаты, по каждому из них по очереди нажмите ПКМ, выберите «Все задачи» и «Экспорт». Сохраните файл и далее импортируйте его в MMC (детально мы покажем это в следующем разделе материала).
  12. Обновление корневых сертификатов в Windows 10-026

  13. Однако в большинстве случаев пользователей интересует установка абсолютно всех сертификатов. Вручную экспортировать их долго и сложно, поэтому откройте «PowerShell» от имени администратора и используйте команду $sstStore = ( Get-ChildItem -Path C:\ps\rootsupd\roots.sst ).
  14. Обновление корневых сертификатов в Windows 10-027

  15. Далее введите $sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root для переноса всех корневых сертификатов в целевую папку их расположения.
  16. Обновление корневых сертификатов в Windows 10-028

  17. В итоге вы должны получить полный список скопированных сертификатов.
  18. Обновление корневых сертификатов в Windows 10-029

  19. Для их просмотра используйте в «Выполнить» команду certmgr.msc.
  20. Обновление корневых сертификатов в Windows 10-030

  21. Вы сразу будете перенаправлены к нужной оснастке и сможете просмотреть, как изменилось хранилище в сравнении с его изначальным видом.
  22. Обновление корневых сертификатов в Windows 10-031

Импорт корневых сертификатов с другого компьютера

Некоторые пользователи сталкиваются с необходимостью настройки ПК в домашней или рабочей группе, когда к локальной сети подключено несколько устройств. Иногда бывает, что на одной копии Windows с корневыми сертификатами все хорошо, а на другой они не обновляются. Для решения определенных задач просто можно импортировать недостающие, предварительно взяв их с того компьютера, где они уже установлены.

  1. На компьютере с корневыми сертификатами запустите консоль через mmc.
  2. Обновление корневых сертификатов в Windows 10-032

  3. Добавьте оснастку с сертификатами так, как это было показано в начале статьи, затем перейдите в нужную папку.
  4. Обновление корневых сертификатов в Windows 10-033

  5. Правой кнопкой мыши нажмите по интересующему вас сертификату, наведите курсор на «Все задачи» и выберите «Экспорт».
  6. Обновление корневых сертификатов в Windows 10-034

  7. Сохраните сертификат в виде файла CER.
  8. Обновление корневых сертификатов в Windows 10-035

  9. Передайте его на другой компьютер, повторите процесс открытия той же папки с сертификатами, нажмите непосредственно по ней ПКМ, наведите курсор на «Все задачи» и выберите «Импорт». Подтвердите добавление нового корневого сертификата.
  10. Обновление корневых сертификатов в Windows 10-036

Наша группа в TelegramПолезные советы и помощь

По умолчанию, все операционные системы семейства 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?

  1. Чтобы открыть хранилище корневых сертификатов компьютера в Windows /Windows Server, запустите консоль
    mmc.exe
    ;
  2. Нажмите Файл (File) -> Добавить или удалить оснастку (Add/Remove Snap-in), в списке оснасток выберите Сертификаты (Certificates) -> Добавить (Add);
  3. В диалоговом окне выберите что вы хотите управлять сертификатами учетной записи компьютера (Computer account);
    mmc оснастка диспетчера сертфикатов в windows

  4. Далее -> Ok -> Ok;
  5. Разверните 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

powershell вывести список просроченных корневых сертификатов

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

Вы можете вручную перенести файл корневого сертификата с одного компьютера на другой с помощью функцию Экспорта/Импорта.

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

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

Включить/отключить автоматическое обновление корневых сертификатов в 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 всегда пытается автоматически обновлять корневые сертификаты.

включить или отключить автоматическое обновление корневых сертфикатов в Windows с помощью GPO

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

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

параметр реестра 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

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

certutil.exe generateSSTFromWU скачать корневые сертификаты с microsoft

В результате в целевом каталоге появится файл 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.

все корневые сертфикаты windows

Чистая копия 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

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

Certification Trust List authroot.stl

Данный файл можно установить в системе с помощью утилиты certutil:

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

certutil установить STL файл доверенных сертфикатов в Windows

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

Также вы можете импортировать сертификаты из консоли управления сертификатами (Trust Root CertificationAuthorities –>Certificates -> All Tasks > Import). Укажите путь к вашему STL файлу сертификатами.

импорт stl сертфикатов

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

Certificate Trust List (STL) в windows

Аналогичным образом можно скачать и установить список с отозванными сертификатами, которые были исключены из программы 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).

корневые сертфикаты crt для windows

Затем с помощью 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\

настроить каталог RootDirURL для обновления сертфикатов с помощью gpo

Осталось назначить эту политику на компьютеры и после обновления настроек 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.

После этого вы можете использовать утилиту 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).

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

    rootsupd.exe утилита обновления списка корневых сертфикатов для Windows XP

  3. Сертификаты содержатся в 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, изолированных от Интернета.

Обновлено:
Опубликовано:

Актуальные системы семейства Windows, подключенные к Интернету, могут автоматически обновлять корневые сертификаты. В противном случае, обновление необходимо выполнять вручную. Если это не делать, мы можем столкнуться с рядом проблем:

  • Не открываются или выдают предупреждение безопасности некоторые (или все) сайты, работающие по https.
  • Некорректная работа отдельных приложений (например, антивирусных систем).
  • Ошибки при подключении по удаленному рабочему столу.

Это пример ошибок, который не претендует на свою полному. Чаще всего, проблемы встречаются на системах, снятых с обслуживания компанией Microsoft (Windows XP, 7, а также Server 2003, 2008).

Пакет обновлений Windows
Экспорт актуальных сертификатов
Импорт сертификатов
Решение возможных проблем

Обновление сертификатов

Обновление доверенных корневых сертификатов выполняется во время обновления операционной системы. Если последнее включено, то нашего участия не требуется, иначе, можно установить обновление вручную. Пример такого пакета — KB931125 (ссылка).

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

Получение актуальных сертификатов

Для начала, выгрузим сертификаты на компьютере с актуальной версией Windows (10) и подключением к сети Интернет.

Создадим каталог, в который будет выгружен файл с корневыми сертификатами, например, C:\CA (папка CA на диске C).

Открываем командную строку от администратора и вводим команду:

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

* где C:\CA — каталог, который мы создали; roots.sst — файл, в который будут выгружены сертификаты.
** если мы получили ошибку Не удается найти указанный файл. 0x80070002, то необходимо убедиться, что каталог CA создан (в нашем примере в корне диска С).
*** необхоидимо убедиться, что каталог, в который мы сохраняем файл roots.sst чистый (в нем нет данного файла).

В папке C:\CA мы должны увидеть файл roots.sst.

Установка/обновление корневых сертификатов

Полученный на предыдущем этапе файл переносим на компьютер, где необходимо обновить доверенные корневые сертификаты, например, также в папку C:\CA. Скачиваем утилиту rootsupd и распаковываем ее в этот же каталог.

Открываем командную строку от администратора и вводим команду:

C:\CA\rootsupd.exe /c /t:C:\CA

* где C:\CA — папка, в которую мы перенесли корневые сертификаты.

В появившемся окне Roots Update:

… выбираем No, чтобы не переписывать наш файл roots.sst.

В папке C:\CA должны появится новые файлы, в том числе, утилита updroots. Вводим теперь команду:

C:\CA\updroots.exe C:\CA\roots.sst

Готово.

Возможные ошибки

Рассмотрим некоторые ошибки, с которыми можно столкнуться.

1. Ошибка 0x5

При вводе команды updroots мы можем получить ошибку:

Error: Save encoded certificate to store failed => 0x5 (5)
Failed

Причина: утилита вносит изменения в систему и ей необходимы права. Данная ошибка, как правило, возникает при нехватке привилегий.

Решение: даже, если мы работает под учетной записью, входящей в группу администраторов, необходимо запускать командную строку от администратора. Для этого можно найти в поиске командную консоль, кликнуть по ней правой кнопкой мыши и выбрать запуск от администратора.

2. Ошибка 0x80070002

При попытке выгрузить корневые сертификаты с помощью команды certutil.exe -generateSSTFromWU мы можем получить ошибку:

Не удается найти указанный файл. 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND) — C:\CA\roots.sst
CertUtil: -generateSSTFromWU команда НЕ ВЫПОЛНЕНА: 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND)
CertUtil: Не удается найти указанный файл.

Причина: мы пытаемся выгрузить данные в каталог, которого не существует.

Решение: в нашем примере выгрузка идет в папку C:\CA. Значит нужно убедиться в наличие данного каталога и, при необходимости, создать его.

Вариант 1 (самый простой)

Скачать и установить корневые сертификаты Let’s Encrypt:

Вариант 2

1. Cкачать файл http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab (обновляется дважды в месяц).
2. С помощью любого архиватора (или проводника Windows) распаковать содержимое архива authrootstl.cab. Он содержит один файл authroot.stl.

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

Данный файл можно установить в системе с помощью контекстного меню файла STL (Install CTL). Или с помощью утилиты certutil:

Аналогичным образом можно скачать и установить список с отозванными сертификатами, которые были исключены из программы Root Certificate Program. для этого, скачайте файл disallowedcertstl.cab (http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab), распакуйте его и добавьте в раздел Untrusted Certificates командой:

Код: Выделить всё

certutil -addstore -f disallowed disallowedcert.stl

Вариант 3

1 .Выгрузим сертификаты на компьютере с актуальной версией Windows (10) и подключением к сети Интернет.

Код: Выделить всё

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

Готовый вариант на 10.10.2021:

roots.zip
roots на 10.10.2021
(421.03 КБ) 341 скачивание

2. Полученный на предыдущем этапе файл переносим на компьютер, где необходимо обновить доверенные корневые сертификаты.
3. Скачиваем утилиту

и распаковываем ее в этот же каталог.
4. В появившемся окне Roots Update: Запрос на перетирание файла roots.sst … выбираем No, чтобы не переписывать наш файл roots.sst.
5. В папке C:\CA должны появится новые файлы, в том числе, утилита updroots. Вводим теперь команду:

All Windows versions have a built-in feature for automatically updating root certificates from the Microsoft websites. MSFT, as part of the Microsoft Trusted Root Certificate Program, maintains and publishes a list of trusted certificates for clients and Windows devices in its online repository. If the verified certificate in its certification chain refers to the root CA that participates in this program, the system will automatically download this root certificate from the Windows Update servers and add it to the trusted ones.

Windows updates a trusted root certificate list (CTL) once a week. If Windows doesn’t have direct access to the Windows Update, the system won’t be able to update the root certificates. So a user may have some troubles when browsing websites (which SSL certificates are signed by an untrusted CA – see the article about the “Chrome SSL error: This site can’t provide a secure connection”), or with installing/running signed scripts and apps.

In this article, we’ll try to find out how to manually update the list of root certificates in TrustedRootCA in disconnected (isolated) networks or computers/servers without direct Internet access.

Contents:

  • Managing Trusted Root Certificates in Windows 10 and 11
  • How to Disable/Enable Automatic Root Certificates Update in Windows?
  • Certutil: Download Trusted Root Certificates from Windows Update
  • Certificate Trust List (STL) in Windows
  • Updating Trusted Root Certificates via GPO in an Isolated Environment
  • How to Update Trusted Root Certificates in Windows 7?
  • Updating Root Certificates on Windows XP Using the Rootsupd.exe Tool

Note. If your computers access the Internet through a proxy server, Microsoft recommends that you open direct access (bypass) to Microsoft Web sites to automatically renew root certificates. However, it isn’t always possible or applicable due to corporate restrictions.

Managing Trusted Root Certificates in Windows 10 and 11

How to see the list of trusted root certificates on a Windows computer?

  1. To open the root certificate store of a computer running Windows 11/10/8.1/7 or Windows Server 2022/2019/2016, run the mmc.exe console;
  2. Select File -> Add/Remove Snap-in, select Certificates (certmgr) in the list of snap-ins -> Add;
  3. Select that you want to manage certificates of local Computer account;
    run certificate management snap-in in windows 10

  4. Next -> OK -> OK;
  5. Expand the Certificates node -> Trusted Root Certification Authorities Store. This section contains the list of trusted root certificates on your computer.

In the mmc console, you can view information about any certificate or remove it from trusted ones.

You can also get a list of trusted root certificates with their expiration dates using PowerShell:

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

You can list the expired certificates, or which expire in the next 60 days:

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

list expired trusted root certificates in WIndows with powershell

For security reasons, it’s recommended that you periodically check the certificate trust store on your computer for suspicious and revoked certificates using the Sigcheck tool. This tool allows you to compare the list of certificates installed on the computer with the list of root certificates on the Microsoft website (you can download an offline file with up-to-date certificates authrootstl.cab).

You can manually transfer the root certificate file between Windows computers using the Export/Import options.

  1. You can export any certificate to a .CER file by clicking on it and selecting All Tasks -> Export;
    windows 10: exporting root certificate to a cer file

  2. You can import this certificate on another computer using the option All Tasks -> Import.
    import root certificate from a CER file in windows 10

How to Disable/Enable Automatic Root Certificates Update in Windows?

As we mentioned, Windows automatically updates root certificates. You can enable or disable certificate renewal in Windows through a GPO or the registry.

Open the Local Group Policy Editor (gpedit.msc) and go to Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication.

The Turn off Automatic Root Certificates Update option in this section allows you to disable automatic updating of root certificates through the Windows Update sites. By default, this policy is not configured and Windows always tries to automatically renew root certificates.

Group Policy: turn off automatic root certificates update in Windows

If this GPO option is not configured and the root certificates are not automatically renewed, check if this setting is manually enabled in the registry. Check the value of the registry parameter using PowerShell:

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

If the command returns that the value of the DisableRootAutoUpdate registry parameter is 1, then the updating of root certificates is disabled on your computer. To enable it, change the parameter value to 0.

Certutil: Download Trusted Root Certificates from Windows Update

Certutil.exe CLI tool can be used to manage certificates (introduced in Windows 10, for Windows 7 is available as a separate update). It can be used to download an up-to-date list of root certificates from Windows Update and save it to an SST file.

To generate an SST file on a computer running Windows 10 or 11 and having direct access to the Internet, open the elevated command prompt and run the command:

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

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

certutil.exe -generateSSTFromWU roots.sst

As a result, an SST file containing an up-to-date list of root certificates will appear in the target directory. Double-click to open it. This file is a container containing trusted root certificates.

roots.sst list of trusted MSFT root certificates

As you can see, a familiar Certificate Management snap-in opens, from which you can export any of the certificates you have got. In my case, there have been 358 items in the list of certificates. Obviously, it is not rational to export the certificates and install them one by one.

Tip. The certutil -syncWithWU command can be used to generate individual certificate files. The certificates obtained in this way can be deployed to Windows devices using GPO.

You can use PowerShell script to install all certificates from the SST file and add them to the list of trusted root certificates on a computer:

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

Run the certmgr.msc snap-in and make sure that all certificates have been added to the Trusted Root Certification Authority. In my example on Windows 11, the number of root certificates increased from 34 to 438.

install microsoft trusted root certificates in Windows using powershell

A clean copy of Windows after installation contains only a small number of certificates in the root store. If the computer is connected to the Internet, the rest of the root certificates will be installed automatically (on demand) if your device access an HTTPS site or SSL certificate that has a fingerprint from Microsoft CTL in its trust chain. Therefore, as a rule, there is no need to immediately add all certificates that Microsoft trusts to the local certification store.  

Certificate Trust List (STL) in Windows

A Certificate Trust List (CTL) is simply a list of data (such as certificate hashes) that is signed by a trusted party (by Microsoft in this case). The Windows client periodically downloads from Windows Update this CTL, which stores the hashes of all trusted root CAs.  It should be understood that this CTL doesn’t contain the certificates themselves, only their hashes and attributes (for example, Friendly Name). Windows devices can download a trusted certificate from Certificate Trust List on demand.

You can manually download and install the CTL file. To do it, download the file http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab (updated twice a month). Using any archiver (or even Windows Explorer), unpack the contents of the authrootstl.cab archive. It contains a single authroot.stl file.

authroot.stl.

The Authroot.stl file is a container with a list of trusted certificate thumbprints in Certificate Trust List format.

Microsoft Certificate Trust List

You can install this CTL file to a Trusted Root Certificate Authority using the certutil command:

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.

You can also import certificates using the certificate management console (Trust Root Certification Authorities -> Certificates -> All Tasks -> Import). Specify the path to your STL file with certificate thumbprints.

import trusted root certificates using certmgr snapin

After you have run the command, a new section Certificate Trust List appears in Trusted Root Certification Authorities container of the Certificate Manager console (certmgr.msc).

certmgr Microsoft Certificate Trust List Publisher

In the same way, you can download and install the list of the revoked (disallowed) certificates that have been removed from the Root Certificate Program. To do it, download the disallowedcertstl.cab file (http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab), extract it, and add it to the Untrusted Certificates store with the command:

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

Updating Trusted Root Certificates via GPO in an Isolated Environment

If you have the task of regularly updating root certificates in an Internet-isolated Active Directory domain, there is a slightly more complicated scheme for updating local certificate stores on domain-joined computers using Group Policies. You can configure root certificate updates on user computers in the disconnected Windows networks in several ways.

The first way assumes that you regularly manually download and copy a file with root certificates to your isolated network. You can download the file with current Microsoft root certificates as follows:

certutil.exe –generateSSTFromWU roots.sst

Then the root certificates from this file can be deployed via SCCM or PowerShell Startup script in GPO:

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

The second way is to download the actual Microsoft root certificates using the command:

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

A number of root certificate files (CRT file format) will appear in the specified shared network folder (including files authrootstl.cab, disallowedcertstl.cab, disallowedcert.sst, thumbprint.crt).

Certutil syncWithWU: getting latest root certs from windows update

Then use the Group Policy Preferences to change the value of the registry parameter RootDirURL under HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate. This parameter should point to the shared network folder from which your Windows computers will receive new root certificates. Run the domain GPMC.msc console, create a new GPO, switch to the edit policy mode, and expand the section Computer Configuration -> Preferences -> Windows Settings -> Registry. Create a new registry property with the following settings:

  • Action: Update
  • Hive: HKLM
  • Key path: Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate
  • Value name: RootDirURL
  • Type: REG_SZ
  • Value data: file://\\fr-dc01\SYSVOL\woshub.com\rootcert\

GPP: set RootDirURL registry value to update trusted root certs in the isolated environment

It remains to link this policy on a computer`s OU and after updating GPO settings on the client, check for new root certificates in the certstore.

The GPO parameter Turn off Automatic Root Certificates Update under Computer Configuration -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication settings should be disabled or not configured.  

How to Update Trusted Root Certificates in Windows 7?

Despite the fact that Windows 7 is now is at the End of Support phase, many users and companies still use it.

After installing a clean Windows 7 image, you may find that many modern programs and tools do not work on it as they are signed with new certificates. In particular, there have been complaints that .Net Framework 4.8 or Microsoft Visual Studio (vs_Community.exe) cannot be installed on Windows 7 SP1 x64 without updating root certificates.

The installer manifest failed signature validation.

Or

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

To update root certificates in Windows 7, you must first download and install MSU update 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)

After that, you can use the certutil to generate an SST file with root certificates (on current or another computer):

certutil.exe -generateSSTFromWU c:\ps\roots.sst

Now you can import certificates into trusted ones:

Run MMC -> add snap-in -> certificates -> computer account > local computer. Right click Trusted root certification authority, All Tasks -> Import, find your SST file (in the file type select Microsoft Serialized Certificate Store — *.sst) -> Open -> Place all certificates in the following store -> Trusted Root Certification Authorities.

Updating Root Certificates on Windows XP Using the Rootsupd.exe Tool

In Windows XP, the rootsupd.exe utility was used to update the computer`s root certificates. The list of root and revoked certificates in it was regularly updated. The tool was distributed as a separate update KB931125 (Update for Root Certificates). Let’s see if we can use it now.

  1. Download the rootsupd.exe utility using the following link http://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe. At the moment (January 2021) the link doesn’t work, Microsoft decided to remove it from the public. Today you can download the rootsupd.exe from the Kaspersky website — http://media.kaspersky.com/utilities/CorporateUtilities/rootsupd.zip;
  2. To install the Windows root certificates, just run the rootsupd.exe file. But we will try to examine its contents more carefully. Extract the certificates from the executable file with the command: rootsupd.exe /c /t: C:\PS\rootsupd
    rootsupd.exe

  3. Certificates are stored in SST files, like authroots.sst, delroot.sst, etc. To remove or install certificates, you can use the following commands:
    updroots.exe authroots.sst
    updroots.exe -d delroots.sst

However, as you can see, these certificate files were created on April 4, 2013 (almost a year before the end of official support for Windows XP). Thus, since then the tool has not been updated and cannot be used to install up-to-date certificates.

But you can use cerutil tool in Windows 10/11 to download root.sst, copy that file in Windows XP and install the certificate using updroots.exe:

updroots.exe c:\temp\roots.sst

There is information that the updroots.exe tool is not recommended for use in modern builds of Windows 10 1803+ and Windows 11, as it can break the Microsoft root CA on a device.

In this article, we looked at several ways to update trusted root certificates on Windows network computers that are isolated from the Internet (disconnected environment).

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как установить tmux на windows
  • Где находится папка с автозагрузкой в windows xp
  • Как вернуть шрифты по умолчанию windows 10
  • Bootable only supports windows bootable iso image
  • Bluetooth перестал работать после переустановки windows