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


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

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

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

 

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

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

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

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

  1. Найдите начало структуры MF_SIGNATURE . Расположение структуры MF_SIGNATURE задается в элементе cbSignatureCoreOffsetструктуры GRL_HEADER . Расположение указывается как смещение в байтах от начала 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