証明書の作成

証明書を構築する際の呼び出しの順序は次のとおりです。

  1. 証明機関 (CA) は、ICertPolicy と ICertExit の呼び出しを通じてモジュールを初期化します (サーバーの初期化時に 1 回発生します)。 CA は、 ICertPolicy2::Initialize と ICertExit:: Initialize を呼び出すことによって、ポリシーと終了モジュールを 初期化します。
  2. 中継局は ICertConfig を介して CA を呼び出します (中間初期化ごとに 1 回行われます)。 中継局は、 ICertConfig::GetConfig を呼び出して、必要な構成文字列を検索します。
  3. クライアントは、中継局に固有のインターフェイスを介して中継局を呼び出します (要求ごとに 1 回発生します)。 クライアントは 、中間者に証明書要求 を送信します。 たとえば、Microsoft インターネットエクスプローラー証明書登録制御を介して要求をMicrosoft インターネット インフォメーション サービスに送信できます。
  4. ICertRequest を介した CA への仲介 (要求ごとに 1 回行われます)。 中継局は、 ICertRequest::Submit を介して CA に証明書要求を送信します。 インターネット インフォメーション サービスの場合は、Active Server Pages スクリプトを使用してこれを行うことができます。
  5. CA は 、ICertPolicy インターフェイスを介してポリシー モジュールを呼び出します (要求ごとに 1 回発生します)。 CA は、 ICertPolicy::VerifyRequest を呼び出して要求が到着したことをポリシー モジュールに通知します。 ポリシー モジュールは、 ICertServerPolicy インターフェイスのメソッドを呼び出すことによって、要求を調べて証明書を変更できます。 その後、ポリシー モジュールは、要求が OK であることを示すことができます (この時点で証明書がビルドされている場合)、要求を拒否するか、要求を中断する必要があります。
  6. (省略可能)管理者は 、ICertAdmin インターフェイスを介して CA を呼び出します。 要求が中断された場合、管理者は要求を再送信または拒否したり、要求の属性と拡張機能を変更したりできます。 要求が再送信された場合、( ICertPolicy::VerifyRequest の呼び出しの結果として) ポリシー モジュールは要求を処理する別の機会を持つことに注意してください。 要求を再送信または拒否するタスクは、証明機関 MMC スナップイン、または ICertAdmin を使用する別のアプリケーションによって実行できます。
  7. CA は ICertExit インターフェイスを介して終了モジュールを呼び出します。 終了モジュールが (手順 1 で ICertExit::Initialize が呼び出されたとき)、発行された証明書または保留中の要求を確認することに関心があることを示している場合、CA は ICertExit::Notify を呼び出します。
  8. 出口モジュールは 、ICertServerExit インターフェイスを介して CA を呼び出します。 出口モジュールは、 ICertServerExit のメソッドを呼び出すことによって、要求と新しい証明書を調べることができます。