Обновление корневых сертификатов windows 2016

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

Ранее уже приходилось сталкиваться с проблемой невозможности корректного развёртывания ПО из-за того, что на целевых компьютерах с OC Windows не обновляется хранилище сертификатов доверенных корневых центров сертификации (далее для краткости будем называет это хранилище TrustedRootCA). На тот момент вопрос был снят с помощью развёртывания пакета rootsupd.exe, доступного в статье KB931125, которая относилась к ОС Windows XP. Теперь же эта ОС полностью снята с поддержки Microsoft, и возможно, поэтому данная KB-статья более недоступна на сайте Microsoft. Ко всему этому можно добавить то, что уже даже на тот момент времени решение с развёртыванием уже устаревшего в ту пору пакета сертификатов было не самым оптимальным, так как тогда в ходу были системы с ОС Windows Vista и Windows 7, в которых уже присутствовал новый механизм автоматического обновления хранилища сертификатов TrustedRootCA. Вот одна из старых статей о Windows Vista, описывающих некоторые аспекты работы такого механизма — Certificate Support and Resulting Internet Communication in Windows Vista. Недавно я снова столкнулся с исходной проблемой необходимости обновления хранилища сертификатов TrustedRootCA на некоторой массе клиентских компьютеров и серверов на базе Windows. Все эти компьютеры не имеют прямого доступа в Интернет и поэтому механизм автоматического обновления сертификатов не выполняет свою задачу так, как хотелось бы. Вариант с открытием всем компьютерам прямого доступа в Интернет, пускай даже на определённые адреса, изначально рассматривался как крайний, а поиски более приемлемого решения привел меня к статье Configure Trusted Roots and Disallowed Certificates (RU), которая сразу дала ответы на все мои вопросы. Ну и, в общем то, по мотивам этой статьи, в данной заметке я кратко изложу на конкретном примере то, каким образом можно централизованно перенастроить на компьютерах Windows Vista и выше этот самый механизм авто-обновления хранилища сертификатов TrustedRootCA, чтобы он использовал в качестве источника обновлений файловый ресурс или веб-сайт в локальной корпоративной сети.

Для начала, на что нужно обратить внимание, это на то, что в групповых политиках, применяемых к компьютерам, не должен быть задействован параметр блокирующий работу механизма авто-обновления. Это параметр Turn off Automatic Root Certificates Update в разделе Computer Configuration > Administrative Templates > System > Internet Communication Management > Internet Communication settings. Нам потребуется, чтобы этот параметр был Выключен, либо просто Не настроен.

Если взглянуть на хранилище сертификатов TrustedRootCA в разделе Локальный компьютер, то на системах, не имеющих прямого доступа в Интернет, набор сертификатов будет прямо так скажем небольшой:

image

В статье KB2677070 — Доступно автоматическое обновление отозванных сертификатов для систем Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2 можно найти актуальные на данный момент ссылки на файлы, прямой доступ к которым (минуя прокси с требованием аутентификации) может потребоваться для функций авто-обновления:

  • http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab
  • http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab

Но вариант прямого доступа в рамках данной заметки мы больше упоминать не станем и рассмотрим пример локализации процесса обновления в соответствии с ранее упомянутой статьёй.

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

Попробуем на компьютере имеющем прямое подключение к Интернету выполнить команду генерации SST файла, который будет в себе содержать актуальный набор файлов корневых сертификатов. В данном случае на компьютере с Windows 10 выполняется команда, вызывающая входящую в базовый состав ОС утилиту Certutil, которая в свою очередь обращается к веб-узлу Microsoft и создаёт по указанному нами пути SST файл:

Certutil -generateSSTFromWU C:\Temp\WURoots.sst

Полученный в результате выполнения команды SST-файл по сути является контейнером, который содержит в себе все сертификаты для нужного нам обновления системы. Этот контейнер легко открывается в Проводнике Windows загружая ассоциированную с расширением файла оснастку управления сертификатами.

image

Этот файл удобно использовать, например, когда из всего подмножества доступных сертификатов нужно выбрать лишь некоторый набор и выгрузить их в отдельный SST файл для дальнейшей загрузки, например, с помощью консоли управления локальными сертификатами или с помощью консоли управления групповыми политиками (для импорта в какую-либо доменную политику через параметр Computer Configuration > Policies > Windows Settings > Security Settings > Public Key Policies > Trusted Root Certification Authorities).

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

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

Certutil -syncWithWU -f -f \\FILE-SERVER\SHARE\RootCAupd\GPO-Deployment\

Ключи -f -f используются для форсированного обновления всех файлов в каталоге назначения.

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

image

Согласно ранее упомянутой статьи, назначение файлов следующее:

  • Файл authrootstl.cab содержит сторонние списки доверия сертификатов;
  • Файл disallowedcertstl.cab содержит список доверия сертификатов с недоверенными сертификатами;
  • Файл disallowedcert.sst содержит хранилище сериализованных сертификатов, включая недоверенные сертификаты;
  • Файлы с именами типа thumbprint.crt содержат сторонние корневые сертификаты.

Итак, файлы необходимые для работы механизма авто-обновления получены, и мы теперь переходим к реализации изменения схемы работы этого самого механизма. Для этого, как всегда, нам на помощь приходят доменные групповые политики Active Directory (GPO), хотя можно использовать и другие инструменты централизованного управления, весь всё, что нам нужно сделать на всех компьютерах — это изменить, вернее добавить, всего один параметр реестра RootDirURL в ветке HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate, который и определит путь к нашему сетевому каталогу, в котором мы ранее разместили набор файлов корневых сертификатов.

Говоря о настройке GPO, для реализации поставленной задачи, опять же, можно использовать разные варианты. Например, есть «олд-скульный» вариант с созданием собственного шаблона групповой политики, так как это описано в уже знакомой нам статье. Для этого создадим файл в формате административного шаблона GPO (ADM), например, с именем RootCAUpdateLocalPath.adm и содержимым:

CLASS MACHINE
CATEGORY !!SystemCertificates
    KEYNAME "Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate"
    POLICY !!RootDirURL
       EXPLAIN !!RootDirURL_help
       PART !!RootDirURL EDITTEXT
             VALUENAME "RootDirURL"
       END PART
    END POLICY
END CATEGORY
[strings]
RootDirURL="URL address to be used instead of default ctldl.windowsupdate.com"
RootDirURL_help="Enter a FILE or HTTP URL to use as the download location of the CTL files."
SystemCertificates="Windows AutoUpdate Settings"

Скопируем этот файл на контроллер домена в каталог %SystemRoot%\inf (как правило, это каталог C:\Windows\inf). После этого перейдём в редактор доменных групповых политик и создадим отдельную новую политику, открыв затем её на редактирование. В разделе Computer Configuration > Administrative Templates… откроем контекстное меню и выберем пункт подключения нового шаблона политик Add/Remove Templates

image

В открывшееся окне с помощью кнопки обзора выберем ранее добавленный файл %SystemRoot%\inf\RootCAUpdateLocalPath.adm, и после того, как шаблон появится в списке, нажмём Close.

image

После проделанного действия в разделе Configuration > Administrative Templates > Classic Administrative Templates (ADM) появится группа Windows AutoUpdate Settings, в которой будет доступен единственный параметр URL address to be used instead of default ctldl.windowsupdate.com

image

Откроем этот параметр и введём путь к локальному ресурсу, на котором мы расположили загруженные ранее файлы обновления, в формате http://server1/folder или file://\\server1\folder,
например file://\\FILE-SERVER\SHARE\RootCAupd\GPO-Deployment

image

Сохраним проделанные изменения и применим созданную политику к доменному контейнеру, в котором расположены целевые компьютеры. Однако рассмотренный метод настройки GPO имеет ряд недостатков и именно поэтому я назвал его «олд-скульным».

Другой, более современный и более продвинутый метод настройки реестра клиентов  —  это использование Group Policy Preferences (GPP). При таком варианте мы можем создать соответствующий объект GPP в разделе групповой политики Computer Configuration > Preferences > Registry с обновлением параметра (Action: Update) реестра RootDirURL (тип значения REG_SZ) 

image

При необходимости можем для созданного параметра GPP включить гибкий механизм нацеливания (Закладка Common > Опция Item-level targeting) на конкретный компьютер или группу компьютеров для предварительного тестирования того, что у нас в конечном итоге получиться после применения групповых политик.

Разумеется, нужно выбрать какой-то один вариант, либо с подключением собственного ADM-шаблона, либо с использованием GPP.

После настройки групповых политик на любом подопытном клиентском компьютере выполним обновление командой gpupdate /force c последующей перезагрузкой. После загрузки системы проверим в реестре наличие созданного ключа и попробуем проверить наличие факта обновления хранилища корневых сертификатов. Для проверки воспользуемся простым но действенным примером описанным в заметке Trusted Roots and Disallowed Certificates.

Для примера посмотрим, есть ли в хранилище сертификатов компьютера корневой сертификат, использованный для выпуска сертификата, который установлен на сайте с именем buypass.no (но на сам сайт пока не переходим :)).

image

Сделать это удобнее всего с помощью средств PowerShell:

Get-ChildItem cert:\localmachine\root | Where {$_.friendlyname -like "*Buypass*"}

С большой долей вероятности у нас не окажется такого корневого сертификата. Если так, то откроем Internet Explorer и обратимся к URL https://buypass.no. И если настроенный нами механизм автоматического обновления корневых сертификатов работает успешно, то в event-логе Windows Application при это появится событие c источником (Source) CAPI2, свидетельствующее об успешной загрузке нового корневого сертификата :

Имя журнала:   Application
Источник:      Microsoft-Windows-CAPI2
Дата:          04.08.2016 18:20:45
Код события:   4097
Категория задачи:Отсутствует
Уровень:       Сведения
Ключевые слова:Классический
Пользователь:  Н/Д
Компьютер:     KOM-WS306.holding.com
Описание:
Успешное автоматическое обновление стороннего корневого сертификата:: субъект:  < CN=Buypass Class 3 Root CA, O=Buypass AS-983163327, C=NO > ; отпечаток SHA1:  < DAFAF7FA6684EC068F1450BDC7C281A5BCA96457 > .

image

После этого мы можем снова выполнить указанную ранее команду запроса к хранилищу корневых сертификатов и увидим, что теперь в нём действительно появился новый корневой сертификат, именно тот который фигурировал в событии event-лога Windows:

image

Как видим, механизм авто-обновления работает и теперь всё, что остаётся, это организовать поддержку в актуальном состоянии файлов в сетевой папке, запланировав, например на ночное время, ежесуточное выполнение задания обновления ранее упомянутой командой:

Certutil -syncWithWU -f -f \\FILE-SERVER\SHARE\RootCAupd\GPO-Deployment\

На этом всё.

Дополнительные источники информации:

  • TechNet Library — Configure Trusted Roots and Disallowed Certificates (RU)
  • TechNet Wiki — Microsoft Trusted Root Certificate Program Updates
  • adevis Blog — Trusted Roots and Disallowed Certificates

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

Актуальные системы семейства 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. Вводим теперь команду:

Все способы:

  • Вывод списка установленных корневых сертификатов
  • Включение автоматического обновления корневых сертификатов
  • Ручное обновление корневых сертификатов
  • Импорт корневых сертификатов с другого компьютера
  • Вопросы и ответы: 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Полезные советы и помощь

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

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Загрузочная флешка для ремонта windows 10
  • Как узнать драйвер видеокарты на windows 10 amd
  • Как установить графический драйвер nvidia на windows 10
  • 8 ball pool download windows
  • Как отключить клавиатуру на ноутбуке windows 10 сочетание клавиш леново