Небольшая подсказка для тех, кому на ОС Windows нужно обновить список корневых сертификатов. Это актуально для систем, которые уже не получают обновления, либо они принудительно отключены. Один-два сертификата можно добавить вручную. Если же их много, то надо это автоматизировать.
Если речь идёт о системах Windows 10 или 11, то там всё просто. Берём обновлённую систему и запускаем там:
# certutil.exe -generateSSTFromWU roots.sst
Сформируется SST контейнер, который можно открыть и посмотреть содержимое. Там будут все корневые сертификаты с текущей машины. На другой машине восстановить можно вот так:
# $sstStore = ( Get-ChildItem -Path roots.sst )# $sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
Если речь идёт о более старых системах, то для них есть другая утилита от Microsoft - rootsupd.exe. Они давно её выпилили из своих загрузок, так что лично я качал с сайта Kaspersky (инструкция и ссылка на утилиту).
Для начала её надо скачать, положить в директорию C:/rootsupd/ и запустить с параметрами:
# rootsupd.exe /c /t:C:\PS\rootsupd
Выскочит окошко с предложением перезаписать roots.sst, надо отказаться. Потом зайти в папку C:/rootsupd/, положить туда актуальный roots.sst с обновлённой системы и запустить из этой папки утилиту updroots.exe:
# updroots.exe roots.sst
Теперь сертификаты обновлены. Я удивился, когда искал решение этой задачи. В сети очень много подобных заметок по обновлению корневых сертификатов на старых системах. Гуглятся как русскоязычные записи, так и иностранные. Похоже куча народа по различным причинам вынуждены использовать старые системы.
Кстати, протухшие CA и старые протоколы шифрования TLS и SSL отличные могильщики старых систем. На них теперь никуда не попасть в современном интернете и ничего не скачать. И проблема эта актуальна не только в Windows. Помню, как в Centos 5 и 6 мне приходилось решать похожие проблемы. Даже писал об этом здесь, но давно дело было.
#windows