Обновился autoupdater для отозванных сертификатов

Обновился сабж.

Ссылка вот такая вот: http://support.microsoft.com/kb/2677070

Дизайн статьи в KB явно делали в GLEAM, но не суть

Штука (я не про GLEAM, а про автоапдейтер) полезная, т.к. при помощи неё оперативно подгружаются списки отозваных сертификатов. А это вещь достаточно тесно связанная с безопасностью, как понятно.

Новое в том, что сменились URL’ы для cab-файлов:

http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedstl.cab

http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab

И если у Вас были жестко прописаны разрешённые к доступу внешние URL’ы, Вам необходимо обновить эти записи.

«Технология», если её можно назвать так, осталась прежней — лобовая замена crypt32.dll, в котором hardcoded оные сертификаты.

Реклама
Обновился autoupdater для отозванных сертификатов

Обновился autoupdater для отозванных сертификатов: 7 комментариев

  1. 1. В статье M$ и вашем посте неточность в ссылках на cabы (там префикс www, который не нужен, хотя написаны они верно).
    2. По технологии обновления ты несколько упростил. В crypt32.dll лежат сертификаты в «серилизованном» виде в ресурсах AUTHROOTS и UPDROOTS. Обновки выходят в виде списков доверия (stl-файлики, упаковынные в cabы, ссылки на которые ты привел). Т.е. по факту crypt32.dll не обнавляется, каждый раз там лежит основа, которая обновляется не так часто (в сервиспаках или иных изменениях, затрагивающих сию dllку), тот минимум которым наполняются хранилища системы при первом старте.

    1. Ой, не дописал, прошу выше комент не читать, т.к. частично ерунду написал утро уже, вот правильный вариант без выканья и чуть более расширенный:

      1. В статье M$ и твоём посте в наличии неточность в ссылках на cab’ы (там префикс www, который не нужен, хотя визуально они верны).
      2. По технологии обновления ты несколько упростил. В crypt32.dll лежат сертификаты в «серилизованном» виде в ресурсах AUTHROOTS и UPDROOTS (это как бы основа для наполнения системных хранилищ сертификатов). Обновки выходят в виде списков доверия (stl-файлики, упакованные в cab’ы, ссылки на которые ты привел). Т.е. по факту crypt32.dll не обновляется, каждый раз, когда необходимо что-то поменять, например, в Third-Party CAs.
      Даже если, нового сертификата от стороннего корневого центра нет в crypt32.dll он по хешу совпадающему с хешем из stl-файлика загружается с сайта M$ примерно отсюда http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/.crt.
      Т.е. фактически для обновления списка сторонних корневых сертификатов нет надобности патчить crypt32.dll и распространять её конечным пользователям.
      Сrypt32.dll обновляется не так часто (в сервис-паках или иных изменениях, затрагивающих сию dllку).
      Я, конечно, тоже слегка упростил, но так для ясности решил оставить эту информацию здесь.

      1. Дык, я ж не ставил задачу досконально раскрыть механизм обновления, я только новость написал. А так — да, то, что не все обновления сертификатов = перезапись crypt32.dll, очевидно. Просто большинство даже не знает, что такое бывает, и штатно, чтобы сертификаты hardcoded в dll’ку. 🙂

        Ссылки поправил, спасибо.

    1. Этому вопросу много лет, пока окончательного ответа на него не наблюдается. :). Факт остаётся фактом — все обновления корневых сертификатов выглядят как новая версия crypt32.dll, это хорошо проверяемо открытием данного файла в Блокноте. 🙂

Обсуждение закрыто.