Ручное обновление корневых сертификатов на Windows
Актуальные системы семейства Windows, подключенные к Интернету, могут автоматически обновлять корневые сертификаты. В противном случае, обновление необходимо выполнять вручную. Если это не делать, мы можем столкнуться с рядом проблем:
- Не открываются или выдают предупреждение безопасности некоторые (или все) сайты, работающие по https.
- Некорректная работа отдельных приложений (например, антивирусных систем).
- Ошибки при подключении по удаленному рабочему столу.
Это пример ошибок, который не претендует на свою полному. Чаще всего, проблемы встречаются на системах, снятых с обслуживание компанией Microsoft (Windows XP, 7, а также Server 2003, 2008).
Обновление сертификатов
Обновление доверенных корневых сертификатов выполняется во время обновления операционной системы. Если последнее включено, то нашего участия не требуется, иначе, можно установить обновление вручную. Пример такого пакета — KB931125.
Однако, если операционная система устарела, разработчик прекращает выпуск обновлений, и мы не можем воспользоваться средствами обновления системы. В таком случае, необходимо сделать выгрузку корневых сертификатов на актуальной системе и перенести их на устаревший.
Получение актуальных сертификатов
Для начала, выгрузим сертификаты на компьютере с актуальной версией Windows (10) и подключением к сети Интернет.
Создадим каталог, в который будет выгружен файл с корневыми сертификатами, например, C:\CA (папка CA на диске C).
Открываем командную строку от администратора и вводим команду:
certutil.exe -generateSSTFromWU C:\CA\roots.sst
* где C:\CA — каталог, который мы создали; roots.sst — файл, в который будут выгружены сертификаты.
В папке C:\CA мы должны увидеть файл roots.sst.
Установка/обновление корневых сертификатов
Полученный на предыдущем этапе файл переносим на компьютер, где необходимо обновить доверенные корневые сертификаты, например, также в папку C:\CA. Скачиваем утилиту rootsupd и распаковываем ее в этот же каталог.
Открываем командную строку от администратора и вводим команду:
C:\CA\rootsupd.exe /c /t:C:\CA
* где C:\CA — папка, в которую мы перенесли корневые сертификаты.
В появившемся окне Roots Update:
. выбираем No, чтобы не переписывать наш файл roots.sst.
В папке C:\CA должны появится новые файлы, в том числе, утилита updroots. Вводим теперь команду:
Как вручную обновить корневые сертификаты в Windows
В операционных системах семейства Windows, начиная с Windows 7, присутствует система автоматического обновления корневых сертификатов с сайта Microsoft. MSFT в рамках программы Microsoft Trusted Root Certificate Program , ведет и публикует в своем онлайн хранилище список сертификатов для клиентов и устройств Windows. В том, случае если проверяемый сертификат в своей цепочке сертфикации относится к корневому CA, который участвует в этой программе, система автоматически скачает с узла Windows Update и добавит такой корневой сертификат в доверенные.
В том случае, если у Windows отсутствует прямой доступ к каталогу Windows Update, то система не сможет обновить корневой сертификат, соответственно у пользователя могут быть проблемы с открытием сайтов (SSL сертификаты которых подписаны CA, к которому нет доверия), либо с установкой / запуском подписанных приложений или скриптов .
В этой статье попробуем разобраться, как можно вручную обновить список корневых сертификатов в TrustedRootCA в изолированных системах, или системах без прямого подключения к интернету.
Примечание . В том случае, если пользователи получают доступ в интернет через прокси сервер, для того, что работало автоматическое обновление корневых сертификатов на компьютера пользователей, Microsoft рекомендует открыть прямой доступ (bypass) к узлам Microsoft. Но это не всегда возможно/применимо.
Утилита rootsupd.exe
В Windows XP для обновления корневых сертификатов использовалась утилита rootsupd.exe , список корневых и отозванных сертификатов, зашитых в которой регулярно обновлялся. Сама утилита распространялась в виде отдельного обновления KB931125 (Update for Root Certificates). Посмотрим, можно ли использовать ли ее сейчас.
- Скачайте утилиту rootsupd.exe , перейдя по ссылке http://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe (по состоянию на 15.09.2017 ссылка не работает, возможно в Microsoft решили убрать ее из общего доступа).
Для установки сертификатов, достаточно запустить файл. Но мы попробуем более внимательно рассмотреть его содержимое, распаковав его с помощью команды: 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 ). Таким образом, с этого времени утилита не обновлялась и не может быть использована для установки актуальных сертификатов.
Получения списка корневых сертификатов с узла Windows Update с помощью Сertutil
Последняя версия утилиты для управления и работы с сертификатам Сertutil (представленная в Windows 10), позволяет скачать и сохранить в SST файл актуальный список корневых сертификатов.
Для генерации SST файла, на компьютере Windows 10 с прямым доступом в Интернет, выполните с правами администратора команду: