- Обновление корневых сертификатов в Windows 10 / Windows Server 2016
- Управление корневыми сертификатами компьютера в Windows 10
- Утилита rootsupd.exe
- Certutil: получение корневых сертификатов через Windows Update
- Список корневых сертификатов в формате STL
- Обновление корневых сертификатов в Windows с помощью GPO в изолированных средах
- Installing the trusted root certificate
- Installing a trusted root certificate
- Adding certificate snap-ins
- Trusted Root Certification Authorities Certificate Store
Обновление корневых сертификатов в Windows 10 / Windows Server 2016
В операционные системы семейства Windows встроена система автоматического обновления корневых сертификатов с сайта Microsoft. Компания MSFT в рамках программы корневых сертификатов Microsoft Trusted Root Certificate Program, ведет и публикует в своем онлайн хранилище список сертификатов для клиентов и устройств Windows. Если проверяемый сертификат в своей цепочке сертификации относится к корневому CA, который участвует в этой программе, система автоматически скачает с узла Windows Update и добавит такой корневой сертификат в доверенные.
ОС Windows запрашивает обновление корневых сертификатов (certificate trust lists — CTL) один раз в неделю. Если в Windows отсутствует прямой доступ к каталогу Windows Update, то система не сможет обновить корневые сертификаты, соответственно у пользователя могут быть проблемы с открытием сайтов (SSL сертификаты которых подписаны CA, к которому нет доверия, см. статью об ошибке в Chrome «Этот сайт не может обеспечить безопасное соединение«), либо с установкой запуском подписанных приложений или скриптов.
В этой статье попробуем разобраться, как можно вручную обновить список корневых сертификатов в TrustedRootCA в изолированных сетях, или компьютерах/серверах без прямого подключения к Интернету.
Управление корневыми сертификатами компьютера в Windows 10
Как посмотреть список корневых сертфикатов компьютера с Windows?
- Чтобы открыть хранилище корневых сертфикатов компьютера в Windows 10/8.1/7/Windows Server, запустите консоль mmc.exe;
- Нажмите Файл (File) ->Добавить или удалить оснастку (Add/Remove Snap-in), в списке оснасток выберите Сертификаты (Certificates) ->Добавить (Add);
- В диалоговом окне выберите что вы хотите управлять сертификатами учетной записью компьютера (Computer account);
- Далее -> Ok -> Ok;
- Разверните Certificates (Сертификаты) ->Trusted Root Certification Authorities Store (Доверенные корневые сертификаты). В этом списке содержится список корневых доверенных сертификатов вашего компьютера.
Вы также можете получить список доверенных корневых сертификатов со сроками действия с помощью PowerShell:
Get-Childitem cert:\LocalMachine\root |format-list
Можно вывести список истекших сертификатов, или которые истекут в ближайшие 30 дней:
Get-ChildItem cert:\LocalMachine\root | Where
В консоли mmc вы можете просмотреть информацию о любом сертификате или удалить его из доверенных.
Вы можете вручную перенести файл корневого сертификата с одного компьютера на другой через функцию Экспорта/Импорта.
- Вы можете экспортировать любой сертификат .CER в файл, щелкнув по нему и выбрав “Все задачи” -> “Экспорт”;
- Затем с помощью команды Импорт можно импортировать этот сертификат на другом компьютере.
Утилита rootsupd.exe
В Windows XP для обновления корневых сертификатов использовалась утилита rootsupd.exe. В этой утилита содержится список корневых и отозванных сертификатов, зашитых в которой регулярно обновлялся. Сама утилита распространялась в виде отдельного обновления KB931125 (Update for Root Certificates).
- Скачайте утилиту rootsupd.exe, перейдя по ссылке (по состоянию на 15.07.2019 ссылка не работает, возможно в Microsoft решили убрать ее из общего доступа. На данный момент вы можете скачать утилиту с сайта kaspersky.com — http://media.kaspersky.com/utilities/CorporateUtilities/rootsupd.zip );
- Для установки корневых сертификатов Windows, достаточно запустить файл rootsupd.exe. Но мы попробуем более внимательно рассмотреть его содержимое, распаковав его с помощью команды: rootsupd.exe /c /t:C:\PS\rootsupd
- Сертификаты содержатся в SST файлах: authroots.sst, delroot.sst и т.п. Для удаления/установки сертификатов можно воспользоваться командами:
updroots.exe authroots.sst
updroots.exe -d delroots.sst
Но, как вы видите, дата создания этих файлов 4 апреля 2013 (почти за год до окончания официальной поддержки Windows XP). Таким образом, с этого времени утилита не обновлялась и не может быть использована для установки актуальных сертификатов. Однако нам чуть позже понадобится файл updroots.exe.
Certutil: получение корневых сертификатов через Windows Update
Утилита управления и работы с сертификатами Certutil (появилась в Windows 10), позволяет скачать с узлов Windows Update и сохранить в SST файл актуальный список корневых сертификатов.
Для генерации SST файла, на компьютере Windows 10 с доступом в Интернет, выполните с правами администратора команду:
certutil.exe -generateSSTFromWU roots.sst
В результате в целевом каталоге появится файл SST, содержащий актуальный список сертификатов. Дважды щелкните по нему для открытия. Данный файл представляет собой контейнер, содержащий доверенные корневые сертификаты.
В открывшейся mmc оснастке управления сертификатами вы можете экспортировать любой из полученных сертификатов. В моем случае, список сертификатов содержал 358 элемента. Естественно, экспортировать сертификаты и устанавливать по одному не рационально.
Для установки всех сертификатов из SST файла и добавления их в список корневых сертфикатов компьютера можно воспользоваться командами PowerShell:
$sstStore = ( Get-ChildItem -Path C:\ps\rootsupd\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
Также можно воспользоваться утилитой updroots.exe (она содержится в архиве rootsupd.exe, который мы распаковали в предыдущем разделе):
Запустите оснастку certmgr.msc и убедитесь, что все сертификаты были добавлены в хранилище Trusted Root Certification Authority.
Список корневых сертификатов в формате STL
Есть еще один способ получения списка сертификатов с сайта Microsoft. Для этого нужно скачать файл http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab (обновляется дважды в месяц).С помощью любого архиватора (или проводника Windows) распакуйте содержимое архива authrootstl.cab. Он содержит один файл authroot.stl.
Файл authroot.stl представляет собой контейнер со списком доверенных сертификатов в формате Certification Trust List.
Данный файл можно установить в системе с помощью контекстного меню файла STL (Install CTL).
Или с помощью утилиты certutil:
certutil -addstore -f root authroot.stl
Также вы можете импортировать сертификаты из консоли управления сертификатами (Trust Root Certification Authorities –>Certificates -> All Tasks > Import).
Укажите путь к вашему STL файлу сертификатами.
После выполнения команды, в консоли управления сертификатами (certmgr.msc) в контейнере Trusted Root Certification Authorities (Доверенные корневые сертификаты) появится новый раздел с именем Certificate Trust List (Список доверия сертификатов).
Аналогичным образом можно скачать и установить список с отозванными сертификатами, которые были исключены из программы Root Certificate Program. для этого, скачайте файл disallowedcertstl.cab (http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab), распакуйте его и добавьте в раздел Untrusted Certificates командой:
certutil -addstore -f disallowed disallowedcert.stl
Обновление корневых сертификатов в Windows с помощью GPO в изолированных средах
Если у вас возникла задача регулярного обновления корневых сертификатов в изолированном от Интернета домене Active Directory, есть несколько более сложная схема обновления локальных хранилищ сертификатов на компьютерах домена с помощью групповых политик. В изолированных сетях Windows вы можете настроить обновление корневых сертификатов на компьютерах пользователей несколькими способами.
Первый способ предполагает, что вы регулярно вручную скачиваете и копируете в вашу изолированную сеть файл с корневыми сертификатами, полученный так:
certutil.exe –generateSSTFromWU roots.sst
Затем сертификаты из данного файла можно установить через SCCM или PowerShell логон скрипт в GPO:
$sstStore = ( Get-ChildItem -Path \\dc01\SYSVOL\winitpro.ru\rootcert\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
Второй способ предполагает получение актуальных корневых сертификатов с помощью команды:
Certutil -syncWithWU -f \\dc01\SYSVOL\winitpro.ru\rootcert\
В указанном сетевом каталоге появится ряд файлов корневых сертификатов (CRT) и в том числе файлы (authrootstl.cab, disallowedcertstl.cab, disallowedcert.sst, thumbprint.crt).
Затем с помощью GPP нужно изменить значение параметра реестра RootDirURL в ветке HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate. Этот параметр должен указывать на сетевую папку, из которой клиентам нужно получать новые корневые сертификаты. Перейдите в секцию редактора GPO Computer Configuration -> Preferences -> Windows Settings -> Registry. И создайте новый параметр реестра со значениями:
Action: Update
Hive: HKLM
Key path: Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate
Value name: RootDirURL
Type: REG_SZ
Value data: file://\\dc01\SYSVOL\winitpro.ru\rootcert\
Осталось назначить эту политику на компьютеры и после обновления политик проверить появление новых корневых сертификатов в хранилище.
В этой статье мы рассмотрели несколько способов обновления корневых сертификатов на ОС Windows, изолированной от Интернета.
Installing the trusted root certificate
Applies to: Lync Server 2013 | Skype for Business 2015
Installing a trusted root certificate is necessary only if you are notified that the certificate of authority is not trusted on any machine. This can occur when you use a private or custom certificate server instead of acquiring certificates from an established public certificate of authority.
Installing a trusted root certificate
On the machine that requires a certificate, in your web browser, navigate to your local certification server. This should be the same certificate of authority used for generating the server and, optionally, client certificates.
Choose Download a CA certificate, certificate chain, or CRL link, as needed.
Select the appropriate certificate of authority from the list and choose the Base 64 Encoding method.
Choose the Download CA certificate link and then choose Open option when prompted to open or save the certificate.
When the certificate window opens, choose Install Certificate…. The Certificate Import wizard appears.
In the wizard, choose Next. Then, when you are prompted for the Certificate Store, choose Place all certificates in the following store. Select the Trusted Root Certification Authorities store.
Complete the remaining steps of the wizard and click Finish.
Upon completing the wizard, you next want to add the certificate snap-ins using the Microsoft Management Console (MMC).
Adding certificate snap-ins
Launch MMC (mmc.exe).
Choose File > Add/Remove Snap-ins.
Choose Certificates, then choose Add.
Choose My user account.
Choose Add again and this time select Computer Account.
Move the new certificate from the Certificates-Current User > Trusted Root Certification Authorities into Certificates (Local Computer) > Trusted Root Certification Authorities.
Trusted Root Certification Authorities Certificate Store
Starting with Windows Vista, the Plug and Play (PnP) manager performs driver signature verification during device and driver installation. However, the PnP manager can successfully verify a digital signature only if the following statements are true:
The signing certificate that was used to create the signature was issued by a certification authority (CA).
The corresponding root certificate for the CA is installed in the Trusted Root Certification Authorities certificate store. Therefore, the Trusted Root Certification Authorities certificate store contains the root certificates of all CAs that Windows trusts.
By default, the Trusted Root Certification Authorities certificate store is configured with a set of public CAs that has met the requirements of the Microsoft Root Certificate Program. Administrators can configure the default set of trusted CAs and install their own private CA for verifying software.
NoteВ В A private CA is unlikely to be trusted outside the network environment.
Having a valid digital signature ensures the authenticity and integrity of a driver package. However, it does not mean that the end-user or a system administrator implicitly trusts the software publisher. A user or administrator must decide whether to install or run an application on a case-by-case basis, based on their knowledge of the software publisher and application. By default, a publisher is trusted only if its certificate is installed in the Trusted Publishers certificate store.
The name of the Trusted Root Certification Authorities certificate store is root. You can manually install the root certificate of a private CA into the Trusted Root Certification Authorities certificate store on a computer by using the CertMgr tool.
NoteВ В The driver signing verification policy that is used by the PnP manager requires that the root certificate of a private CA has been previously installed in the local machine version of the Root Certification Authorities certificate store. For more information, see Local Machine and Current User Certificate Stores.
For more information about driver signing, see Driver Signing Policy.