証明書の登録制御
証明書登録制御は、証明書を名前付きサブジェクトに発行するように要求する必要があるアプリケーションで使用できます。 バイナリ文字列 (BSTR) の形式でデータを受け入れるように設計されています。 データは、Web ページから取得することも、Visual Basic または Visual C++ 開発システムのユーザー インターフェイスから取得することもできます。 証明書登録制御からの出力は、 証明機関 (CA) に送信できる PKCS #10 証明書要求です。
ユーザーに関する必要な情報 (証明書のサブジェクト) は、ユーザー インターフェイスによって収集されます。 この情報は、証明書登録コントロールへの BSTR 入力として提供されます。 証明書登録コントロールは、適切な署名キー、キー交換キー、または両方のキー ペアを生成します。 次に、生成された秘密キーを使用して、コントロールによって PKCS #10 証明書要求が生成され、署名されます。 次に、証明書登録コントロールは、発行された証明書が証明機関から返されるまで、要求ストアに格納されている一時的なダミー証明書にキー ペアをリンクします。 最後に、アプリケーションは PKCS #10 証明書要求を CA に送信します。
CA が証明書要求を承認すると、CA は公開キーを含む証明書を作成します。 CA も署名し、証明書を返します。
要求された証明書が CA から返されると、アプリケーションは PKCS #7 メッセージを証明書登録制御に渡し、そこで証明書または証明書のチェーンが PKCS #7 メッセージから抽出されます。 信頼チェーン内の証明書とその他の証明書は 、証明書ストアに格納されます。 返された証明書は、いかなる方法でも変更されません。 証明書対応アプリケーションは、ストアからこの証明書にアクセスできるようになりました。
スマート カード登録制御は、スマート カード ユーザーの代わりに登録するために管理者によって使用されます。 登録プロセスにより、ユーザーのスマート カードに格納されている証明書が発行されます。
スマート カード登録コントロールは、Scrdenrl.dllに含まれており、1 つのオブジェクト SCrdEnr で構成されます。 他のオブジェクトはScrdenrl.dllに含まれません。 このスマート カード登録オブジェクトは、Visual Basic Scripting Edition (VBScript) などのスクリプト言語で使用できます。
スマート カード登録コントロールを実行しているコンピューターにスマート カード リーダーをインストールする必要があります。
さらに、スマート カード発行者は、"EnrollmentAgent" 証明書テンプレートに基づいて署名証明書を取得している必要があります。 この署名証明書は、スマート カード受信者に代わって生成された証明書要求に署名するために使用されます。 既定では、ドメイン管理者には、"登録エージェント" テンプレートに基づいて証明書を要求するアクセス許可が付与されます。 別のユーザーには、(Active Directory サイトとサービス MMC スナップインを使用して) "EnrollmentAgent" 証明書を登録するアクセス許可を付与できます。ただし、これにより、このユーザーはドメイン管理者特権を持つスマート カードを自己発行できます。