Поделиться через


Отзыв сертификата OPM

Сертификат диспетчера защиты выходных данных (OPM) можно отозвать корпорацией Майкрософт. Список отозванных сертификатов хранится в глобальном списке отзыва (GRL). GRL имеет следующий формат:

Секция Описание
Заголовок Структура GRL_HEADER.
Ядро Содержит следующие списки отзыва:
  • Двоичные отзыва ядра
  • Двоичные отзыва в режиме пользователя
  • Отзыв сертификатов
  • Доверенные корни (зарезервированы)
Список доверенных корней в настоящее время не используется и зарезервирован для будущего использования.
Расширяемые записи Содержит сведения, используемые другими компонентами. Этот раздел не относится к OPM.
Продления: Содержит идентификаторы GUID, определяющие идентификаторы Центра обновления Windows. В этом разделе содержатся идентификаторы для следующих списков:
  • Двоичные отзыва ядра
  • Двоичные отзыва в режиме пользователя
  • Отзыв сертификатов
Приложение может использовать эти идентификаторы для запроса обновленной версии отозванного двоичного файла, если он доступен.
Подпись: основной раздел Подписывает заголовки и основные разделы.
Подпись: расширяемый раздел Подписывает заголовки и расширяемые разделы.

 

Заголовок GRL — это GRL_HEADER структура. Элемент dwSequenceNumber содержит номер версии GRL. Это число увеличивается при обновлении GRL и новой версии, размещенной на компьютере пользователя.

Отзываемые сертификаты OPM перечислены в списке отзыва сертификатов раздела Core. Каждая запись Core в GRL представляет собой 20-байтовый массив, содержащий хэш SHA-1 открытого ключа отзыва сертификата.

Разделы подписи содержат подписи, которые можно использовать для проверки того, что GRL не был изменен. Каждый раздел подписи содержит MF_SIGNATURE структуру. Первая подпись подписывает заголовок плюс раздел Core. Вторая подпись подписывает заголовок плюс раздел Extensible; эта подпись не относится к OPM.

Чтобы убедиться, что сам GRL не был изменен, проверьте подпись следующим образом:

  1. Найдите начало структуры MF_SIGNATURE. Расположение структуры MF_SIGNATURE дано в элементе GRL_HEADERcbSignatureCoreOff set. Расположение указывается как смещение в байтах с начала GRL.
  2. Анализ структуры MF_SIGNATURE в виде подписи PKCS #7 с цепочкой сертификатов.
  3. Проверьте цепочку сертификатов до доверенного корневого каталога.
  4. Убедитесь, что конечный сертификат имеет следующий идентификатор объекта в EKU: "1.3.6.1.4.1.311.10.5.4".
  5. Вычислить хэш байтов, включающих заголовок и основные разделы GRL.
  6. Убедитесь, что хэш соответствует сигнатуре в конечном сертификате.

диспетчера защиты выходных данных

GRL_HEADER

MF_SIGNATURE