証明書の登録 Web サービスの URL を追加/変更する際の注意事項

Active Directory 証明書サービスを日々ご利用いただいている皆様

こんにちは。Windows サポート チームの工藤です。
今回は 「証明書の登録 Web サービス」の URL を、追加/変更する際の手順および注意事項についてご案内いたします。

これを機に、まず「証明書の登録 Web サービス」を簡単にご紹介したいと思います。

証明書の登録 Web サービスとは

「証明書の登録 Web サービス」では、HTTPS プロトコルにて、ネットワークのクライアント コンピューターから、証明書の要求を受け入れて、発行された証明書を返すことができます。
具体的には、証明書の登録 Web サービスが代わりとなって、DCOM プロトコルを使用して証明機関 (CA) と通信を行い、依頼元クライアントの証明書の要求および発行、証明書ストアへの登録を行います。

「証明書の登録 Web サービス」は、「証明書の登録ポリシー Web サービス」と一緒に利用することで、クライアント コンピューターがドメインのメンバーでない場合や、ドメイン メンバーが自身のドメインに接続していない場合でも、ポリシー ベースの証明書の登録を可能にする、Active Directory 証明書サービスの役割サービスのひとつになります。

具体的な通信のシーケンスはこのようになります。

※「証明書の登録 Web サービス」を CES (Certificate Enrollment Web Service)、「証明書の登録ポリシー Web サービス」を CEP (Certificate Enrollment Policy Web Service) と表記します。

Step1. CEP サーバーに https でアクセスをします。
Step2. CEP サーバーは、DC より ldap 検索で得た CES サーバーの URL を、証明書要求元クライアントに返します。
Step3. 証明書要求元クライアントは、CEP サーバーより得た情報を元に、CES サーバーに https でアクセスします。
Step4. CES サーバーは、RPC/DCOM 通信にて証明機関 (CA) に証明書の発行要求を行います。
Step5. CES サーバーは、証明機関 (CA) が発行した証明書を、証明書要求元クライアントに返します。

証明書の登録 Web サービス (CES) のURL変更方法

続いて、「証明書の登録 Web サービス」で利用する URL の設定 (変更) 方法ですが、本ブログでは、ブログ タイトルにも冠した注意事項よりご説明のうえで、Certutil コマンドを利用した手順をご案内いたします.

!! 注意事項 !!
CES の URL を、追加/変更する際に、ADSI エディタ上で直接 ” ms-PKIEnrollmentService” の属性を変更すると、正しく反映されない場合がありますので、必ず Certutil コマンドをご利用くださいますようお願いいたします。

// CES の URL を追加する
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. CA サーバーに管理者権限を持つアカウントでログオンします。

2. コマンド プロンプトを管理者権限で起動し、以下コマンドを実行します。

Certutil -config "[CAサーバーFQDN]\[CA 名]" -enrollmentServerURL [追加したい CES の URL] [認証タイプ]

※ 例えば、ユーザー名とパスワードを利用した認証による、URL を追加したい場合は、以下のようになります)

例:

※ 登録済みの URL を指定した場合は、以下のようにエラーが返されます。

※ 認証タイプは UserName の他にも、以下のタイプを指定することが可能です。

Kerberos (Kerberos 認証)
ClientCertificate (クライアント証明書認証)

// CES の URL を削除する
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
コマンド プロンプトで実行するコマンドを以下のように指定します。

Certutil -config "[CAサーバーFQDN]\[CA 名]" -enrollmentServerURL [削除したい CES の URL] delete

例:

// CES の URL を確認する
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
コマンド プロンプトで実行するコマンドを以下のように指定します。

certutil -config "[CAサーバーFQDN]\[CA 名]" -enrollmentServerURL

例:

※ ADSI エディタでは、CN=Enrollment Services,CN=Public Key Services,cn=Services,CN=Configuration, DC=[domain name] の右ペインに表示される CA 名オブジェクトから確認できます。
CA 名オブジェクトの ​"msPKI-Enrollment-Servers" 属性に CES の URL が格納されていますが、上述しました通り、ADSI エディタ上からの値の変更は行わないでください。

- 参考情報

Certificate Enrollment Web Services in Active Directory Certificate Services
https://social.technet.microsoft.com/wiki/contents/articles/7734.certificate-enrollment-web-services-in-active-directory-certificate-services.aspx

証明書の登録 Web サービスの概要
https://technet.microsoft.com/ja-jp/library/dd759209(v=ws.11).aspx

証明書の登録ポリシー Web サービスの概要
https://technet.microsoft.com/ja-jp/library/dd759230(v=ws.11).aspx

本記事は、お客様のお問合せを契機に掲載に至りました。
貴重なご指摘をくださいましたお客様には、深くお礼を申し上げます。

なお、コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。