В Windows корневые сертификаты автоматически обновляются через Windows Update в рамках программы Microsoft Trusted Root Certificate Program. Это обеспечивает доверие к SSL-сертификатам сайтов и подписанным приложениям. Однако в изолированных сетях или при отсутствии интернета автоматическое обновление невозможно, что может привести к ошибкам, например, Этот сайт не может обеспечить безопасное соединение в браузере или проблемам с запуском подписанных программ. В этой статье мы разберём, как вручную обновить корневые сертификаты в Windows 10/11, Windows 7 и Windows XP, а также как настроить их обновление через GPO в доменных сетях.
Зачем обновлять корневые сертификаты
Корневые сертификаты используются для проверки цепочки доверия SSL-сертификатов сайтов, приложений и скриптов. Без актуальных сертификатов могут возникнуть проблемы:
— Ошибки при доступе к HTTPS-сайтам.
— Невозможность установки программ, подписанных новыми сертификатами (например, .NET Framework 4.8).
— Ошибки выполнения подписанных PowerShell-скриптов.
Windows запрашивает обновления списка доверия (CTL) еженедельно, но без доступа к Windows Update это не работает.
Управление корневыми сертификатами в Windows
Просмотр хранилища сертификатов
1. Открытие консоли MMC
— Запустите mmc.exe с правами администратора.
— Выберите Файл -> Добавить или удалить оснастку.
— Добавьте оснастку Сертификаты, выберите Учётная запись компьютера -> Локальный компьютер.
— Разверните Сертификаты -> Доверенные корневые центры сертификации -> Сертификаты.
2. Просмотр сертификатов через PowerShell
Выведите список корневых сертификатов:
Get-ChildItem -Path Cert:\LocalMachine\Root | Format-List
Найдите сертификаты, истекающие в ближайшие 30 дней:
Get-ChildItem -Path Cert:\LocalMachine\Root | Where-Object {$_.NotAfter -lt (Get-Date).AddDays(30)} | Select-Object NotAfter, Subject
3. Проверка подлинности сертификатов
Используйте утилиту Sigcheck от Sysinternals для сравнения локальных сертификатов с актуальным списком Microsoft (файл authrootstl.cab).
Экспорт и импорт сертификатов
1. Экспорт сертификата
— В оснастке Сертификаты щёлкните правой кнопкой по сертификату -> Все задачи -> Экспорт.
— Сохраните файл в формате .CER.
2. Импорт сертификата
— На целевом компьютере выберите Все задачи -> Импорт.
— Укажите путь к файлу .CER и выберите хранилище Доверенные корневые центры сертификации.
Включение/отключение автоматического обновления
Автоматическое обновление корневых сертификатов включено по умолчанию. Его можно настроить через GPO или реестр.
1. Настройка через GPO
— Откройте gpedit.msc или редактор групповых политик.
— Перейдите в Конфигурация компьютера -> Административные шаблоны -> Система -> Управление связью через Интернет -> Параметры связи через Интернет.
— Найдите параметр Отключить автоматическое обновление корневых сертификатов.
— Установите Не настроено или Отключено для включения обновлений.
2. Настройка через реестр
Проверьте параметр:
Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot' -Name DisableRootAutoUpdate
Если DisableRootAutoUpdate = 1, обновление отключено.
Включите его:
Set-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot' -Name DisableRootAutoUpdate -Value 0
Ручное обновление корневых сертификатов
Для изолированных систем используйте утилиту certutil или файл authrootstl.cab.
Метод 1: Использование certutil
1. Генерация SST-файла
На компьютере с интернетом выполните:
certutil.exe -generateSSTFromWU C:\PS\roots.sst
Файл roots.sst содержит актуальный список сертификатов.
2. Импорт сертификатов
Перенесите roots.sst на целевой компьютер и импортируйте:
$sstStore = Get-ChildItem -Path C:\PS\roots.sst
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
3. Проверка результата
Откройте certmgr.msc и убедитесь, что сертификаты добавлены в Доверенные корневые центры сертификации.
Метод 2: Использование authrootstl.cab
1. Загрузка файла
Скачайте файл authrootstl.cab с сайта Microsoft.
2. Извлечение STL-файла
Распакуйте authrootstl.cab с помощью архиватора или Проводника. Получите файл authroot.stl.
3. Установка STL
Импортируйте файл:
certutil -enterprise -f -v -AddStore "Root" "C:\PS\authroot.stl"
Или через certmgr.msc:
— Выберите Доверенные корневые центры сертификации -> Сертификаты -> Все задачи -> Импорт.
— Укажите authroot.stl и хранилище Доверенные корневые центры сертификации.
4. Проверка
В certmgr.msc появится раздел Список доверия сертификатов.
Метод 3: Обновление отозванных сертификатов
1. Загрузка disallowedcertstl.cab
Скачайте файл disallowedcertstl.cab
2. Установка
Распакуйте и импортируйте:
certutil -enterprise -f -v -AddStore disallowed "C:\PS\disallowedcert.stl"
Сертификаты появятся в Недоверенные сертификаты.
Обновление сертификатов через GPO в изолированных сетях
Для доменов Active Directory без интернета настройте обновление через GPO.
1. Метод 1: Распространение SST-файла
— Сгенерируйте roots.sst на компьютере с интернетом:
certutil.exe -generateSSTFromWU \\dc01\SYSVOL\softcomputers.org\rootcert\roots.sst
— Настройте скрипт входа через GPO для импорта:
$sstStore = Get-ChildItem -Path \\dc01\SYSVOL\softcomputers.org\rootcert\roots.sst
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
2. Метод 2: Использование syncWithWU
— Скачайте сертификаты:
certutil -syncWithWU -f \\dc01\SYSVOL\softcomputers.org\rootcert\
— Настройте параметр реестра RootDirURL через GPP:
— Откройте Конфигурация компьютера -> Параметры -> Параметры Windows -> Реестр.
— Создайте параметр:
— Действие: Обновить
— Раздел: HKLM
— Путь: Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate
— Имя: RootDirURL
— Тип: REG_SZ
— Значение: file://\\dc01\SYSVOL\softcomputers.org\rootcert\
3. Проверка GPO
— Убедитесь, что политика Отключить автоматическое обновление корневых сертификатов не включена.
— После применения GPO проверьте хранилище в certmgr.msc.
Обновление сертификатов в Windows 7
В Windows 7 без обновлённых сертификатов могут не работать современные программы, например, .NET Framework 4.8 или Visual Studio, с ошибкой installer manifest failed signature validation.
1. Установка обновления
Скачайте и установите обновление KB2813430 для Windows 7.
2. Генерация и импорт SST
— Сгенерируйте roots.sst на другом компьютере:
certutil.exe -generateSSTFromWU C:\PS\roots.sst
— Импортируйте через certmgr.msc:
— Доверенные корневые центры сертификации -> Все задачи -> Импорт.
— Выберите roots.sst (тип файла: Microsoft Serialized Certificate Store (*.sst)).
Обновление сертификатов в Windows XP
Для Windows XP использовалась утилита rootsupd.exe (обновление KB931125). Однако её поддержка прекращена в 2013 году, и она не содержит актуальных сертификатов.
1. Загрузка утилиты
Скачайте rootsupd.exe с сайта Kaspersky
2. Извлечение содержимого
Распакуйте:
rootsupd.exe /c /t:C:\PS\rootsupd
Получите файлы authroots.sst, delroots.sst и другие.
3. Установка сертификатов
Используйте updroots.exe:
updroots.exe authroots.sst
Удалите отозванные сертификаты:
updroots.exe -d delroots.sst
Рекомендации
— Регулярно проверяйте хранилище сертификатов на наличие поддельных записей с помощью Sigcheck.
— В изолированных сетях используйте GPO для централизованного обновления.
— Не импортируйте все сертификаты, если они не требуются, чтобы минимизировать риски.
— Для Windows XP используйте rootsupd.exe только как временное решение из-за устаревших данных.
— Создавайте резервные копии хранилища сертификатов перед изменениями.
Эти методы позволяют обновить корневые сертификаты в Windows, обеспечивая безопасность SSL-соединений и работу подписанных приложений даже в изолированных средах.