Windows server 2008 r2 update root certificates

Discusses the update for the Windows Root Certificate Program update in Windows 8.1, Windows RT 8.1, Windows Server 2012 R2, Windows 8, Windows RT, Windows Server 2012, Windows 7, and Windows Server 2008 R2.

This article describes an update that enables urgent updates for the Windows Root Certificate Program in Windows 8.1, Windows RT 8.1, Windows Server 2012 R2, Windows 8, Windows RT, Windows Server 2012, Windows 7, and Windows Server 2008 R2. Before you apply this update, see more about this update and check out the prerequisites in this article.

About this update

The Windows Root Certificate Program enables trusted root certificates to be distributed automatically in Windows. Usually, a client computer polls root certificate updates one time a week. After you apply this update, the client computer can receive urgent root certificate updates within 24 hours.

Known issue

After you apply this update, you may encounter error 0x800706f7 when you run Windows Update.

Resolution
To resolve this issue, install update 3024777.

How to obtain this update

Method 1: Windows Update

Method 2: Microsoft Download Center

The following files are available for download from the Microsoft Download Center.

Operating system

Update

All supported x86-based versions of Windows 8.1

Download
Download the package now.

All supported x64-based versions of Windows 8.1

Download
Download the package now.

All supported x64-based versions of Windows Server 2012 R2

Download
Download the package now.

All supported x86-based versions of Windows 8

Download
Download the package now.

All supported x64-based versions of Windows 8

Download
Download the package now.

All supported x64-based versions of Windows Server 2012

Download
Download the package now.

All supported x86-based versions of Windows 7

Download
Download the package now.

All supported x64-based versions of Windows 7

Download
Download the package now.

All supported x64-based versions of Windows Server 2008 R2

Download
Download the package now.

All supported IA-64-based versions of Windows Server 2008 R2

Download
Download the package now.


Notes

  • The update installer should be run from an elevated command prompt.

  • The update for Windows RT 8.1 or Windows RT can be obtained only from Windows Update.

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

Method 3: Update rollup for Windows 8.1, Windows RT 8.1, Windows Server 2012 R2, Windows 8, Windows RT, or Windows Server 2012

Install one of the following update rollup packages that are dated December 2014:

  • Get the December 2014 update rollup for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2

  • Get the December 2014 update rollup for Windows RT, Windows 8, and Windows Server 2012

Note The update rollup fixes many other issues in addition to the issue that the stand-alone update fixes. The update rollup is larger than the stand-alone update. Therefore, the update rollup takes longer to download.

Update information

Prerequisites

To install this update, you must install update 2919355 in Windows 8.1 or Windows Server 2012 R2. Or, install Service Pack 1 for Windows 7 or Windows Server 2008 R2.

Registry information

To apply this update, you do not have to make any changes to the registry.

Restart requirement

You may have to restart the computer after you apply this update.

Update replacement information

This update does not replace a previously released update.

More Information

For more information, see the following articles in the Microsoft Knowledge Base:

KB 2677070 An automatic updater of revoked certificates is available for Windows Vista, Windows Server 2008, Windows 7, and Windows Server 2008 R2

KB 2813430 An update that enables administrators to update trusted and disallowed CTLs in disconnected environments in Windows

The global version of this update installs files that have the attributes that are listed in the following tables. The dates and the times for these files are listed in Coordinated Universal Time (UTC). The dates and the times for these files on your local computer are displayed in your local time together with your current daylight saving time (DST) bias. Additionally, the dates and the times may change when you perform certain operations on the files.

Windows 8.1 and Windows Server 2012 R2 file information and notes

  • The files that apply to a specific product, milestone (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table.

    Version

    Product

    Milestone

    Service branch

    6.3.960 0.17 xxx

    Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2

    RTM

    GDR

  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are not listed.

For all supported x86-based versions of Windows 8.1

File name

File version

File size

Date

Time

Platform

Crypt32.dll

6.3.9600.17475

1,612,992

30-Oct-2014

23:38

x86

For all supported x64-based versions of Windows 8.1 or Windows Server 2012 R2

File name

File version

File size

Date

Time

Platform

Crypt32.dll

6.3.9600.17475

1,970,432

30-Oct-2014

23:39

x64

Crypt32.dll

6.3.9600.17475

1,612,992

30-Oct-2014

23:38

x86

For all supported ARM-based versions of Windows 8.1

File name

File version

File size

Date

Time

Platform

Crypt32.dll

6.3.9600.17475

1,499,336

30-Oct-2014

23:32

Not applicable

Windows 8 and Windows Server 2012 file information and notes

  • The files that apply to a specific product, milestone (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table.

    Version

    Product

    Milestone

    Service branch

    6.2.920 0.17xxx

    Windows 8, Windows RT, or Windows Server 2012

    RTM

    GDR

    6.2.920 0.21xxx

    Windows 8, Windows RT, or Windows Server 2012

    RTM

    LDR

  • GDR service branches contain only those fixes that are widely released to address widespread, critical issues. LDR service branches contain hotfixes in addition to widely released fixes.

  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are not listed.

For all supported x86-based versions of Windows 8

File name

File version

File size

Date

Time

Platform

Crypt32.dll

6.2.9200.17164

1,569,792

30-Oct-2014

05:22

x86

Crypt32.dll

6.2.9200.21279

1,591,808

30-Oct-2014

00:46

x86

For all supported x64-based versions of Windows 8 or Windows Server 2012

File name

File version

File size

Date

Time

Platform

Crypt32.dll

6.2.9200.17164

1,890,816

30-Oct-2014

07:20

x64

Crypt32.dll

6.2.9200.21279

1,919,488

30-Oct-2014

00:51

x64

Crypt32.dll

6.2.9200.17164

1,569,792

30-Oct-2014

05:22

x86

Crypt32.dll

6.2.9200.21279

1,591,808

30-Oct-2014

00:46

x86

For all supported ARM-based versions of Windows 8

File name

File version

File size

Date

Time

Platform

Crypt32.dll

6.2.9200.17164

1,403,392

30-Oct-2014

05:45

Not applicable

Windows 7 and Windows Server 2008 R2 file information and notes

  • The files that apply to a specific product, milestone (RTM, SPn), and service branch (LDR, GDR) can be identified by examining the file version numbers as shown in the following table:

  • GDR service branches contain only those fixes that are widely released to address widespread, critical issues. LDR service branches contain hotfixes in addition to widely released fixes.

  • The MANIFEST files (.manifest) and the MUM files (.mum) that are installed for each environment are not listed.

For all supported x86-based versions of Windows 7

File name

File version

File size

Date

Time

Platform

Crypt32.dll

6.1.7601.18700

1,174,528

12-Dec-2014

05:07

x86

Crypt32.dll

6.1.7601.22908

1,175,040

12-Dec-2014

05:38

x86

Cryptnet.dll

6.1.7601.18205

103,936

09-Jul-2013

04:46

x86

Cryptnet.dll

6.1.7601.22780

106,496

19-Aug-2014

02:47

x86

Cryptsvc.dll

6.1.7601.18526

143,872

07-Jul-2014

01:40

x86

Cryptsvc.dll

6.1.7601.22856

145,920

30-Oct-2014

02:14

x86

Wintrust.dll

6.1.7601.18526

179,200

07-Jul-2014

01:40

x86

Wintrust.dll

6.1.7601.22736

179,200

07-Jul-2014

01:41

x86

For all supported x64-based versions of Windows 7 and of Windows Server 2008 R2

File name

File version

File size

Date

Time

Platform

Crypt32.dll

6.1.7601.18700

1,480,192

12-Dec-2014

05:31

x64

Crypt32.dll

6.1.7601.22908

1,480,704

12-Dec-2014

06:02

x64

Cryptnet.dll

6.1.7601.18205

139,776

09-Jul-2013

05:46

x64

Cryptnet.dll

6.1.7601.22780

142,336

19-Aug-2014

03:05

x64

Cryptsvc.dll

6.1.7601.18526

187,904

07-Jul-2014

02:06

x64

Cryptsvc.dll

6.1.7601.22736

190,976

07-Jul-2014

02:06

x64

Wintrust.dll

6.1.7601.18526

229,376

07-Jul-2014

02:07

x64

Wintrust.dll

6.1.7601.22736

229,376

07-Jul-2014

02:06

x64

Crypt32.dll

6.1.7601.18700

1,174,528

12-Dec-2014

05:07

x86

Crypt32.dll

6.1.7601.22908

1,175,040

12-Dec-2014

05:38

x86

Cryptnet.dll

6.1.7601.18205

103,936

09-Jul-2013

04:46

x86

Cryptnet.dll

6.1.7601.22780

106,496

19-Aug-2014

02:47

x86

Cryptsvc.dll

6.1.7601.18526

143,872

07-Jul-2014

01:40

x86

Cryptsvc.dll

6.1.7601.22856

145,920

30-Oct-2014

02:14

x86

Wintrust.dll

6.1.7601.18526

179,200

07-Jul-2014

01:40

x86

Wintrust.dll

6.1.7601.22736

179,200

07-Jul-2014

01:41

x86

For all supported IA-64-based versions of Windows Server 2008 R2

File name

File version

File size

Date

Time

Platform

Crypt32.dll

6.1.7601.18700

2,690,048

12-Dec-2014

04:45

IA-64

Crypt32.dll

6.1.7601.22908

2,691,072

12-Dec-2014

04:45

IA-64

Cryptnet.dll

6.1.7601.18205

267,264

09-Jul-2013

04:27

IA-64

Cryptnet.dll

6.1.7601.22780

272,896

19-Aug-2014

02:13

IA-64

Cryptsvc.dll

6.1.7601.18526

388,608

07-Jul-2014

01:22

IA-64

Cryptsvc.dll

6.1.7601.22736

392,704

07-Jul-2014

01:25

IA-64

Wintrust.dll

6.1.7601.18526

514,048

07-Jul-2014

01:22

IA-64

Wintrust.dll

6.1.7601.22736

514,048

07-Jul-2014

01:25

IA-64

Crypt32.dll

6.1.7601.18700

1,174,528

12-Dec-2014

05:07

x86

Crypt32.dll

6.1.7601.22908

1,175,040

12-Dec-2014

05:38

x86

Cryptnet.dll

6.1.7601.18205

103,936

09-Jul-2013

04:46

x86

Cryptnet.dll

6.1.7601.22780

106,496

19-Aug-2014

02:47

x86

Cryptsvc.dll

6.1.7601.18526

143,872

07-Jul-2014

01:40

x86

Cryptsvc.dll

6.1.7601.22856

145,920

30-Oct-2014

02:14

x86

Wintrust.dll

6.1.7601.18526

179,200

07-Jul-2014

01:40

x86

Wintrust.dll

6.1.7601.22736

179,200

07-Jul-2014

01:41

x86

References

See the terminology that Microsoft uses to describe software updates.

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

Можно вывести список истекших сертификатов, или которые истекут в ближайшие 30 дней:

Get-ChildItem cert:LocalMachineroot|  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:SoftwarePoliciesMicrosoftSystemCertificatesAuthRoot' -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:PSroots.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:psrootsupdroots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:LocalMachineRoot

Запустите оснастку 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:PSauthroot.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:PSdisallowedcert.stl "

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

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

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

certutil.exe –generateSSTFromWU roots.sst

Затем сертификаты из данного файла можно установить через SCCM или PowerShell логон скрипт в GPO:
$sstStore = ( Get-ChildItem -Path \dc01SYSVOLwinitpro.rurootcertroots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:LocalMachineRoot

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

Certutil -syncWithWU -f \dc01SYSVOLwinitpro.rurootcert

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

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

Затем с помощью GPP нужно изменить значение параметра реестра RootDirURL в ветке HKLMSoftwareMicrosoftSystemCertificatesAuthRootAutoUpdate. Этот параметр должен указывать на сетевую папку, из которой клиентам нужно получать новые корневые сертификаты. Перейдите в секцию редактора GPO Computer Configuration -> Preferences -> Windows Settings -> Registry. И создайте новый параметр реестра со значениями:

Action: Update
Hive: HKLM
Key path: SoftwareMicrosoftSystemCertificatesAuthRootAutoUpdate
Value name: RootDirURL
Type: REG_SZ
Value data: file://\dc01SYSVOLwinitpro.rurootcert

настроить каталог 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 (https://support.microsoft.com/en-us/topic/an-update-is-available-that-enables-administrators-to-update-trusted-and-disallowed-ctls-in-disconnected-environments-in-windows-0c51c702-fdcc-f6be-7089-4585fad729d6).

После этого вы можете использовать утилиту certutil для генерации SST файла с сертификатами (на этом или на другом компьютере):

certutil.exe -generateSSTFromWU c:psroots.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:PSrootsupd
    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, изолированных от Интернета.

Maybe i didn’t explain myself very well

My Exchange Servers are showing an event 36885

http://www.eventid.net/display.asp?eventid=36885&eventno=8846&source=Schannel&phase=1

This seems to relate to having the KB931125 installed on those servers by accident due to microsoft accidentally making them available for servers and i have approved them via WSUS.

Correct. Although it’s not the KB931125 that specifically causes that problem, but rather having too many certificates in the Trusted Root Certificate Authorities store. Then, when the store is queried, SCHANNEL craps out because it can only transfer 16k
of data, and the cert store has more than 16k of data in it.

The scenario is discussed in further detail in
KB2801679.  

My question is really whether i should still follow the instructions here:

http://blogs.technet.com/b/windowsserver/archive/2013/01/12/fix-available-for-root-certificate-update-issue-on-windows-server.aspx

Yes, you need to fix this. There are three ways you can fix it:

Use the FIX-IT solution in the KB article. If you only installed the update to one or a few machines, then the FIX-IT solution will likely be the best approach, but keep in mind what the FIX-IT solution does. It destroys the entire certificate store. That’s
likely to cause as much harm, if not more, unless you have a plan in place for recovering the certificates that are needed.

The second way you can approach it is to use the manual method described in the KB article (essentially what the FIX-IT does), which is to delete the HKEY_LOCAL_MACHINESOFTWAREMicrosoftSystemCertificatesAuthRootCertificates registry key. But, as noted
above, to my way of thinking that’s a pretty radical thing to kill off the entire certificate store, and almost certainly there will be negative implications.

The third methodology — the one I’ve been using and recommending for four years, since I first encountered these issues with SCHANNEL and the size limitations is to load up the MMC Certificates snap-in and surgically delete the certificates that are not
needed. I focus on the following certificates:

  • All certificates that are expired.
  • All certificates that are about to expire (there are probably already replacements in the cert store).
  • All certificates from foreign entities that I will never do business with.
  • All certificates from other entities that I will likely never do business with.
  • And if I still need to kill some more off, I look at certificates with exceptionally long expiration dates (or especially old creation dates), because these are probably weak certificates issued back when 10-year and 20-year certificates were not considered
    problematic. (Assuming that KB2661254  hasn’t already been installed and revoked all of them anyway.) Even if they’re 1k-bit certs, if they have a 20-year expiration, they’ve likely (hopefully!) been replaced with a new cert with a shorter expiration
    date.

The key thing to keep in mind is that by deleting individual certificates that you know you don’t need, you can hardly do any harm. Even if you did, it’s trivial to obtain and replace the certificate, if you know what it is you deleted. Ultimately if you
get the certificate store around 180-200 certificates, then the store size will likely be <16k and the TLS/SSL problems will go away.


Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
SolarWinds Head Geek
Microsoft MVP — Software Packaging, Deployment & Servicing (2005-2013)
My MVP Profile:
http://mvp.support.microsoft.com/profile/Lawrence.Garvin
http://www.solarwinds.com/gotmicrosoft
The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

  • Marked as answer by
    Lawrence Garvin
    Monday, June 17, 2013 3:58 PM

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

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

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

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

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

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

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

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

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

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

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

certutil.exe -generateSSTFromWU C:CAroots.sst

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

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

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

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

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

C:CArootsupd.exe /c /t:C:CA

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

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

Запрос на перетирание файла roots.sst

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

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

C:CAupdroots.exe C:CAroots.sst

Готово. 

Дмитрий Моск — частный мастер

Была ли полезна вам эта инструкция?

Да            Нет

imageРанее уже приходилось сталкиваться с проблемой невозможности корректного развёртывания ПО из-за того, что на целевых компьютерах с 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:TempWURoots.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-SERVERSHARERootCAupdGPO-Deployment

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

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

image

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

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

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

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

CLASS MACHINE
CATEGORY !!SystemCertificates
    KEYNAME "SoftwareMicrosoftSystemCertificatesAuthRootAutoUpdate"
    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:Windowsinf). После этого перейдём в редактор доменных групповых политик и создадим отдельную новую политику, открыв затем её на редактирование. В разделе Computer Configuration > Administrative Templates… откроем контекстное меню и выберем пункт подключения нового шаблона политик Add/Remove Templates

image

В открывшееся окне с помощью кнопки обзора выберем ранее добавленный файл %SystemRoot%infRootCAUpdateLocalPath.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://\server1folder,
например file://\FILE-SERVERSHARERootCAupdGPO-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:localmachineroot | 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-SERVERSHARERootCAupdGPO-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

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:LocalMachineroot |format-list

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

Get-ChildItem cert:LocalMachineroot|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:SoftwarePoliciesMicrosoftSystemCertificatesAuthRoot' -Name DisableRootAutoUpdate

DisableRootAutoUpdate registry parameter

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:PSroots.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:psrootsupdroots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:LocalMachineRoot

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:PSauthroot.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:PSdisallowedcert.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-dc01SYSVOLwoshub.comrootcertroots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:LocalMachineRoot

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

Certutil -syncWithWU -f \fr-dc01SYSVOLwoshub.comrootcert

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 HKLMSoftwareMicrosoftSystemCertificatesAuthRootAutoUpdate. 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: SoftwareMicrosoftSystemCertificatesAuthRootAutoUpdate
  • Value name: RootDirURL
  • Type: REG_SZ
  • Value data: file://\fr-dc01SYSVOLwoshub.comrootcert

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.

visual studio windows 7 installer manifest failed signature validation

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:psroots.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:PSrootsupdrootsupd.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:temproots.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).

If no-one else will say it, I will. Microsoft screwed up years ago and published an update to the trusted root CAs that broken any machine lucky enough to get said update prior to Microsoft pulling the update. To this day, I still deal with this problem.

Because I understand the security implications, I am not providing direct links to these issues. Instead, this is what one searches for in Google to find the related information:

Update KB3004394 breaks Root Certificate in Windows 7/ Windows Server 2008 R2

Microsoft releases ‘Silver Bullet’ patch KB 3024777 to eliminate KB 3004394

And the one I experienced and to this day causes countless issues:

SSL/TLS communication problems after you install KB 931125

This package installed more than 330 Third-party Root Certication
Authorities. Currently, the maximum size of the trusted certificate
authorities list that the Schannel security package supports is 16
kilobytes (KB). Having a large amount of Third-party Root Certication
Authorities will go over the 16k limit, and you will experience
TLS/SSL communication problems.

Another reason is because Microsoft has distrusted a number of root CAs over the years. Lazy admins will simply disable this feature for their Intranet servers and never resolve the root problem — re-signing everything no longer trusted.

Anyway, simple answer is to use a different code signing certificate.

Установка корневого центра сертификации Microsoft CA на MS Windows Server 2008 R2

Назначение корпоративного центра сертификации

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

Однако текущее положение в этой области не позволяет решать вопросы
безопасного интернета без существенных финансовых затрат на
приобретение SSL- сертификатов. При этом
бесплатные
сертификаты сервиса
Let’s Encrypt покрывают лишь узкий спектр корпоративных потребностей в
сертификатах. Например, не покрываются сертификаты для шифрования
документов, почты, цифровых подписей, аутентификация клиентов. Для
использования публичных сертификатов, выданных коммерческими CA вам
необходимо иметь публичный домен. Получить сертификат для веб-сервера
на имя domain.local от Let’s Encrypt технически невозможно. Именно
поэтому актуальность частных корпоративных центров сертификации
остаётся на очень высоком уровне.


Двухуровневая
схема развертывания иерархии центра сертификации (ЦС) для
небольших и средних предприятий является наиболее оптимальной,
поскольку она позволяет обеспечить должный уровень безопасности и
приемлемый уровень гибкости разделения ЦС на определённые функции.

Здесь корневой ЦС
выпускает сертификаты для подчинённых ЦС, а уже
подчинённый ЦС
выдаёт сертификаты конечным потребителям. Это позволяет
изолировать корневой ЦС от сети, что автоматически сводит к нулю шанс
компрометации такого ЦС. Основное время корневой ЦС жизни может и
должен проводить в выключенном состоянии. Включать его нужно только для
обновления собственного сертификата, подчинённого ЦС или для публикации
нового списка отозванных сертификатов (CLR). Другим достоинством
двухуровневой иерархии является улучшенная гибкость в разбиении
подчинённых ЦС на классы, например, для разных групп потребителей или
отдельно для рабочих станций, отдельно для пользователей.

Также можно выделить один ЦС для выдачи сертификатов с повышенными требованиями к
сертификатам (например, сертификаты для аутентификации и цифровой
подписи) и ЦС общего назначения.

Типовая схема двухуровневой схемы центра сертификации (ЦС):

Установка корневого центра сертификации Microsoft CA на MS Windows Server 2008 R2

Для того чтобы установить корневой центр сертификации, необходимо:

  1. Создать файл политик центра сертификации.
  2. Установить автономный корневой Центр сертификации (со службой
    сертификации и службой регистрации в центре сертификации через
    Интернет) MS Windows Server 2008 R2. Настроить службу на
    автоматический выпуск сертификатов.
  3. Настроить службу на автоматический выпуск сертификатов.
  4. Включить аудит работы службы, сделать настройки безопасности.
  5. Добавить ссылки на точку распространения отозванных сертификатов и
    корневого сертификата центра сертификации, которые будут добавляться в
    каждый выпущенный сертификат.

Создание файла политик CAPolicy.inf корневого ЦС

Считаем, что для самоподписанного сертификата корневого Центра
сертификации нет необходимости указания точки распределения списка
отозванных сертификатов (расширение CDP). Для этого в файле политик
значение CRL Distribution Point (точка распределения списка отозванных
сертификатов) сделать пустым.

Содержимое файла CAPolicy.inf будет следующим:

[Version] Signature=”$Windows NT$”

[CRLDistributionPoint]

URL=» «

Установка службы сертификации из состава MS Windows

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

  1. Открыть окно Панели управления, выполнив команды Пуск, Панель управления.
  2. В окне Панели управления открыть пункт Администрирование и выбрать
    Диспетчер сервера.
  3. Выбрать пункт Роли. В правой части окна нажать Добавить роли и выделить пункт
    Службы сертификации Active Directory.
    В следующем окне мастера выбрать пункты Центр Сертификации —и Служба регистрации
    в центре сертификации через Интернет
    .
  4. В появившемся окне нажать кнопкуДобавить требуемые службы роли:
  5. Далее следует выбрать Автономный ЦС, затем – Корневой ЦС.
  6. При создании нового ключа ЦС выбрать опцию Создать новый закрытый ключ.
  7. Далее следует выбрать криптопровайдер RSA#Microsoft Software Key
    Storage Provider и установить опцию Разрешить взаимодействие с администратором,
    если центр сертификации обращается к закрытому ключу.
  8. Далее следует ввести сведения о ЦС. Имя ЦС (в примере это MS-Root-CA)
    может быть введено как кириллицей, так и латиницей. При этом если имя
    вводится кириллицей, то его длина не должна превышать 50 символов. Если
    Имя вводится латиницей, то его длина не должна превышать 250 символов.
    Имя ЦС может быть любым.
  9. Ввести сведения о Вашей организации по следующему
    примеру:
  10. OU= название отдела

    O=название организации

    L=город местонахождения

    C=RU

    На сообщение о расширенной кодировке имен выбираем Да.

  11. Далее нужно задать срок действия сертификата ЦС 15 лет и затем следовать указаниям Мастера
    установки службы, выбирая предлагаемые значения по умолчанию.

Настройка корневого Центра сертификации

Запускаем центр сертификации: ПускВсе программыАдминистрированиеЦентр сертификации.

Просмотреть настройки Центра сертификации — вызвать контекстное меню и выбрать Свойства.

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

Настроить Модуль политики на выдачу сертификатов в
автоматическом режиме. Установить переключатель в строку Следовать параметрам…

Перейти в закладку Аудит. Включить протоколирование
событий безопасности. Активировать события безопасности, кроме Сохранение и
восстановление архивированных ключей и Запуск и остановка службы сертификатов Active Directory

Перейди в закладку Безопасность. Разрешите Администратору
запрашивать сертификаты:

Настройка публикации списка отозванных сертификатов

Перейти в закладку Расширения. В меню Выберите расширение
выбрать Точка распространения списка отзыва (CDP).
Удалить точки распространения, кроме C:Windows.Добавить путь,
например, https://servername /Public/Certname.crl, где
servername – сервер, на котором будет настроено публичное
хранилище, а Certname – название сертификата.

Включить настройки Включать в CDP-расширение выданных сертификатов и
Включать в расширения IDP выданных CRL. Перезапустить центр сертификации.

В дополнение к CDP, необходимо сконфигурировать дополнение, включающее
информацию о локализации сертификата ЦС AIA. Для этого в поле Выберите расширение
перейти к Authority Information Access (AIA). Удалить доступы к
сведениям о центрах сертификации, кроме C:Windows…. Добавить путь,
например, https://servername/Public/Certname.ce, где servername –
сервер, на котором будет настроено публичное хранилище, а Certname – название сертификата.

Включить настройки Включать в AIA-расширение выданных сертификатов.
Перезапустить Центр сертификации.

Поскольку значения дополнений CDP и AIA изменены, то для учета
изменений необходимо выпустить и опубликовать CRL. Для публикации CRL
необходимо в дереве консоли Центра сертификации нажать правой кнопкой
мыши на узел Отозванные сертификаты. В появившемся меню
выбрать Все задачи — Публикация

Оставить по умолчанию тип публикуемого CRL – Новый базовый CRL.
Нажать кнопку ОК.

Для просмотра и изменения параметров публикации CRL в окне контекстного
меню выберем Свойства.

Посмотреть выпущенные списки отозванных сертификатов можно в закладке
Просмотр списков отзыва сертификатов (CRL).

Списки отозванных сертификатов размещены в папке
C:WindowsSystem32CertsrvCertEnroll,
куда по умолчанию публикуются списки.

Яндекс.Метрика

Понравилась статья? Поделить с друзьями:

Вот еще несколько интересных статей:

  • Windows server 2008 r2 sp2 update
  • Windows server 2008 r2 sp2 torrent
  • Windows server 2008 r2 sp1 скачать с официального сайта
  • Windows server 2008 r2 sp1 русификатор
  • Windows server 2008 r2 sp1 x64 torrent

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии