次の方法で共有


OPM 証明書の失効

出力保護マネージャー (OPM) 証明書は、Microsoft によって取り消すことができます。 失効した証明書の一覧は、グローバル失効リスト (GRL) に格納されます。 GRL の形式は次のとおりです。

形容
ヘッダ GRL_HEADER 構造体。
コア 次の失効リストが含まれています。
  • カーネル バイナリ失効
  • ユーザー モードのバイナリ失効
  • 証明書の失効
  • 信頼されたルート (予約済み)
信頼されたルートの一覧は現在使用されておらず、今後使用するために予約されています。
拡張可能なエントリ 他のコンポーネントで使用される情報を格納します。 このセクションは OPM には関係ありません。
更新: Windows Update 識別子を定義する GUID が含まれています。 このセクションには、次の一覧の識別子が含まれています。
  • カーネル バイナリ失効
  • ユーザー モードのバイナリ失効
  • 証明書の失効
アプリケーションは、これらの識別子を使用して、失効したバイナリの更新バージョンを要求できます (使用可能な場合)。
署名: コア セクション ヘッダーとコア セクションに署名します。
署名: 拡張セクション ヘッダーと拡張可能なセクションに署名します。

 

GRL ヘッダーは GRL_HEADER 構造体です。 構造体の dwSequenceNumber メンバーには、GRL バージョン番号が含まれています。 この数は、GRL が更新され、ユーザーのコンピューターに新しいバージョンが配置されるたびにインクリメントされます。

失効した OPM 証明書は、Core セクションの証明書失効リストに一覧表示されます。 GRL の各コア エントリは、失効した証明書の公開キーの SHA-1 ハッシュを含む 20 バイトの配列です。

署名セクションには、GRL が改ざんされていないことを確認するために使用できる署名が含まれています。 各 Signature セクションには、am MF_SIGNATURE 構造体が含まれています。 最初の署名は、ヘッダーと Core セクションに署名します。 2 番目の署名は、ヘッダーと Extensible セクションに署名します。この署名は OPM には関係ありません。

GRL 自体が改ざんされていないことを確認するには、次のように署名を確認します。

  1. MF_SIGNATURE 構造体の先頭を見つけます。 MF_SIGNATURE 構造体の場所は、GRL_HEADER 構造体の cbSignatureCoreOffset メンバーで指定されます。 この位置は、GRL の先頭からのオフセット (バイト単位) として指定されます。
  2. 証明書チェーンを使用して、MF_SIGNATURE 構造体を PKCS #7 署名として解析します。
  3. 信頼されたルートまでの証明書チェーンを確認します。
  4. リーフ証明書の EKU に "1.3.6.1.4.1.311.10.5.4" というオブジェクト識別子があることを確認します。
  5. GRL のヘッダーとコア セクションを含むバイトのハッシュを計算します。
  6. ハッシュがリーフ証明書の署名と一致することを確認します。

Output Protection Manager

GRL_HEADER

MF_SIGNATURE