仲介者はクライアント アプリケーションと通信して、証明書要求を送信し、発行された証明書をクライアントにダウンロードすることを許可します (要求によって発行された証明書が得られます)。 各トランスポート層プロトコルには、独自の中継局が必要です。
Microsoft Certificate Services には、HTTP の中継局 (Web 登録ページ) が付属しています。 仲介者のもう 1 つの例として、Microsoft Windows 証明書 MMC スナップインがあります (証明書要求ウィザードを呼び出すことができます)。 証明書サービスで他のトランスポート層プロトコルを使用する場合、開発者は必要なトランスポート層プロトコルごとに仲介者を作成できます。
中継局は、ICertRequest と、サーバー エンジンによって提供される ICertConfigインターフェイスを使用して証明書サービスと通信します。 ICertRequest::Submit メソッドを使用して、証明書要求を送信し、ICertRequest::GetCertificateを使用して、発行された証明書を取得します。 同様に、ICertConfig::GetConfig を使用して、証明書の発行に使用できる証明機関を決定します。
仲介者は言語に依存しません。 C++、Visual Basic、Java、スクリプト、または別の言語で記述されたプログラムを使用できます。
クライアントからデータを収集して証明書要求を作成するだけでなく、仲介者が要求属性を指定することもできます。 エンタープライズ ポリシー モジュールを実行証明機関に送信された要求は、要求自体に "CertificateTemplate" 属性または証明書テンプレート拡張機能を指定して要求された証明書の種類を示す必要があります。
証明書要求の作成時に、開発者 (および仲介者) は秘密キーの秘密を維持する責任があることに注意してください。 秘密キーが侵害された (秘密を失った) 後は役に立ちません。
Certificate Services Web 登録ページでは、証明書登録インターフェイスを使用します。このインターフェイスは、ワークステーションで秘密キーを生成することによって秘密キーを保護します。 証明書登録制御では、秘密キーの秘密を維持するだけでなく、仲介者は暗号化サービス プロバイダー、キーの指定、キーの強度、ハッシュ アルゴリズムを指定できます。
証明書 MMC スナップインでは、証明書登録コントロール (Xenroll.dll) も使用されます。 ただし、証明書サービス Web 登録ページで証明書登録制御リソース (Xenroll.dll) が必要に応じてクライアントにダウンロードされる場合、証明書 MMC スナップインは、Xenroll.dll が既に使用可能なリソースである環境で実行されます。
ICertRequestと ICertConfigに加えて、仲介者の開発者は、証明書登録インターフェイスの と スマート カード登録制御 が役立つ場合があります。