AndreyVladimirovich
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору TheBarmaley, я тоже раньше думал, что всё просто и очевидно, но оказалось, что это не так. Во первых, есть два похожих логических хранилища корневых сертификатов - "Root" "Доверенные корневые центры сертификации" "Trusted Root Certification Authority" и "AuthRoot" "Сторонние корневые центры сертификации" "Third-Party Root Certification Authority". Во вторых, есть несколько официальных файлов, через которые распространяются корневые сертификаты - "roots.sst", "authroots.sst", "updroots.sst" и "delroots.sst" (а так же "authroot.stl" в архиве "authrootstl.cab"). При добавлении сертификатов в "AuthRoot" они появляются в "Root". При этом, если одни и те же сертификаты добавить в "AuthRoot" и в "Root", то в "Root" будет в два раза больше (будут дубликаты). Кстати, для справки. На 2021.06.30 в файле "roots.sst" 4 сертификата из которых 3 просрочены, в "authroots.sst" 32 сертификата, в "updroots.sst" 398 сертификатов, в "delroots.sst" 149 сетрификатов. В файле получаемом командой "CertUtil.exe -generateSSTFromWU" 434 сертификата. Если кому интересно, все ссылки , которые я нашёл, под спойлером. Далее. Если распаковать файл "rootsupd.exe" (раньше распространялся по ссылке) , то в файле "rootsupd.inf" мы увидим такую запись: [RunPostSetupCmds] updroots.exe authroots.sst updroots.exe updroots.sst updroots.exe -l roots.sst updroots.exe -d delroots.sst А синтаксис работы программы "updroots.exe" версии 5.1.2484.0 такой (более новой версии у меня нет и найти её я так и не смог): Usage: UpdRoots [options] <SrcStoreFilename> Options are: -h - This message -d - Delete (default is to add) -l - Local Machine (default is Third Party) Эксперимент показал, что без ключа "-l" (маленькая "L") сертификаты устанавливаются в логическое хранилище "AuthRoot", а с ключом в "Root" (т.о. можно установить даже файл "disallowedcert.sst", т.е. в самом файле не указано, куда его устанавливать или программа это игнорирует). Получается, что MS зачем-то распространяет два разных файла, содержимое которых записывается в одно логическое хранилище. Информацию о том, содержимое каких файлов куда устанавливать, на данный момент, я нашёл только в одном месте и то, там это упоминается вскользь. А именно, в написано "authrootstl.cab, which contains a non-Microsoft CTL", а про команду "CertUtil -generateSSTFromWU" написано: "SSTFile: .sst file to be created. The generated .sst file contains the non_Microsoft root certificates that were downloaded by using the automatic update mechanism.". При этом, в ряде статей предлагается устанавливать и то и другое в "Root". Да, статьи не от MS, но у них я и вовсе пока не нашёл примеров на этот счёт. И с файлом, получаемым командой "CertUtil.exe -generateSSTFromWU" какие-то странности. Ведь, если его устанавливать в "Root", то будут копии (да и правильно ли это его устанавливать в "Root"?), а если в "AuthRoot", то каким образом мы будем обновлять сертификаты в "Root"? К тому же это не решает вопроса об обновлении логического хранилища "Disallowed" "Сертификаты, к которым нет доверия". Есть ещё вот такое "Certutil.exe -syncWithWU", я так понимаю, что сертификаты могут обновляться либо через Интернет, либо из папки создаваемой указанной командой. Так что этот вариант не для всех. Есть ещё вопросы. Что делать с файлом "delroots.sst"? Я так и не нашёл другого способа удалять с его помощью сертификаты, кроме как с помощью программы "updroots.exe". Так же не понятно для чего файл "PinRules"? Большая часть его сертификатов уже есть в файле "updroots.sst". Стоит ли обновлять сертификаты с файлов STL? В общем, как обычно, полно вопросов и мало ответов. Когда-то давно я заинтересовался обновлением сертификатов на XP и уже не помню почему, возможно, они там вовсе автоматически не обновляются. А сейчас вернулся к этому вопросу, т.к. обнаружил, что, как минимум, один из сертификатов MS в моей Win10 просрочен несмотря на то, что Win лицензионная и полностью обновляется. После обновления сертификатов вручную, данный сертификат обновился (что это было, я так и не понял, в ЛГП обновление сертификатов не выключено). В итоге я пришёл пока к такому варианту обновления сертификатов. |