エンタープライズ CA を利用して、Windows OS 以外の製品に対してサーバー証明書を発行する手順を紹介します。
エンタープライズ CA は証明書の発行に証明書テンプレートを指定することが必須となり、製品で作成した CSR をそのまま certsrv の管理コンソール上から提出すると証明書の発行に失敗してしまいます。
証明書の発行に失敗する理由は、CSR に “証明書テンプレート” の情報が含まれていないためです。
そのため、Windows OS 以外の製品の証明書を発行する場合においては、”証明機関 Web 登録” の機能を利用することが多いです。
“証明機関 Web 登録” の機能はエンタープライズ CA 上に IIS サービスを利用して Web サイトを構成する機能で、ユーザーは Web ブラウザから証明書の発行要求を行うことができます。
環境
ドメイン メンバーのサーバー OS の端末に CA サーバーを構築します。
事前準備となるドメイン コントローラーの構築手順や、ドメイン参加の手順については以下の記事を参考にしてください。
Active Directory ドメイン サービスとは、組織でシステム管理者が、組織内のユーザーやリソースを管理するためのサービスです。 Active Directory は Windows 2000 Server から標準で導入されてお[…]
エンタープライズ CA の構築
ドメイン環境を用意し、サーバー OS の端末 1 台とクライアント OS の端末 1 台をそれぞれドメイン参加させておきます。
今回は Windows Server 2016 と Windows 10 で動作を確認しています。
今回の手順では、ネットワーク設定は除外しています。
1) メンバー サーバーに Enterprise Admins もしくはルート ドメインの Domain Admins の権限をもつユーザーでログオンします。
2) [サーバー マネージャー] を開き、[管理] より [役割と機能の追加] をクリックします。
3) [開始する前に] にて、[次へ] をクリックします。
4) [インストールの種類の選択] にて、[役割ベースまたは機能ベースのインストール] を選択し、[次へ] をクリックします。
5) [対象サーバーの選択] にて、自身のサーバーが選択されていることを確認し、[次へ] をクリックします。
6) [サーバーの役割の選択] にて、[Active Directory 証明書サービス] のチェックボックスを有効にします。
7) [役割と機能の追加ウィザード] にて、[管理ツールを含める(存在する場合)] のチェックボックスが有効になっていることを確認し、[機能の追加] をクリックします。
8) [役割の選択] にて [Active Directory 証明書サービス] のチェックボックスが有効になっていることを確認して [次へ] をクリックします。
9) [機能の選択] にて、そのまま [次へ] をクリックします。
10) [Active Directory 証明書サービス] にて、そのまま [次へ] をクリックします。
11) [役割サービスの選択] にて、[証明機関] のチェックボックスが有効になっていることを確認し、また [証明機関 Web 登録] のチェックボックスを有効にします。
12) [役割と機能の追加ウィザード] にて、[管理ツールを含める(存在する場合)] のチェックボックスが有効になっていることを確認し、[機能の追加] をクリックします。
13) [役割サービスの選択] にて [証明機関] と [証明機関 Web 登録] のチェックボックスが有効になっていることを確認して [次へ] をクリックします。
14) [Web サーバーの役割 (IIS)] にて、そのまま [次へ] をクリックします。
15) [役割サービスの選択] にて、そのまま [次へ] をクリックします。
16) [インストール オプションの確認] にて、[インストール] をクリックします。
16) [インストールの進捗状況] にて、機能のインストールが完了するまで待ちます。
17) [インストールの進捗状況] にて、“インストールが正常に完了しました。” と表示されたら、[対象サーバーに Active Directory 証明書サービスを構成する] をクリックします。
18) [資格情報] にて、[資格情報] の枠に Enterprise Admins もしくは ルート ドメインの Domain Admins の権限を保持するユーザーの資格情報が入力されていることを確認し、[次へ] をクリックします。
※自動でログオンユーザーが補完されます。もし、ログオン ユーザーはEnterprise Admins もしくはルート ドメインの Domain Admins の権限をしていない場合は、[変更] をクリックして対象の権限を保持している資格情報(ユーザー名とパスワード)を入力します。
19) [役割サービス] にて、[証明機関]、[証明機関 Web 登録] のチェックボックスを有効にして、[次へ] をクリックします。
20) [セットアップの種類] にて、[エンタープライズ CA] を選択し [次へ] をクリックします。
21) [CA の種類] にて、[ルート CA] を選択して [次へ] をクリックします。
22) [秘密キー] にて、[新しい秘密キーを作成する] を選択して [次へ] をクリックします。
※ 新規に CA サーバーを構築するには、[新しい秘密キーを作成する] を選択します。
基本的には既存の秘密キーを使用するのは、既存の CA サーバーを移行する時となります。
ここで、作成されたキーペア(秘密鍵と公開鍵)は、秘密鍵は発行する証明書の署名、CSR の署名に、また公開鍵は CA 証明書(今回はルート証明書)に使用されます。
23) [CA の暗号化] にて、各種設定を行い [次へ] をクリックします。各種設定の詳細は以下の通りです。
[暗号化プロバイダー] : データの暗号化やハッシュ値を算出するサービスの種類です。
特にこだわりがなければ、既定の “RSA#Microsoft Software Key Strong Provider” のままで問題ありません。
(主要アルゴリズムは全てサポートしているプロバイダーです)
[キー長]:公開鍵のキー長です。[この CA から発行された署名に使用するハッシュ アルゴリズムを選択] にて、この CA サーバーで発行する証明書の署名に使用するハッシュ アルゴリズムを選択します。
セキュリティの観点から SHA256 以上を選択することを推奨します。MD5 は SHA1 などの古いハッシュアルゴリズムは脆弱性が存在するので推奨しません。
24) [CA の名前] にて、[この CA の共通名] に CA の名前を設定します。
ドメイン名とコンピューター名を組み合わせた名前が自動補完されますが、任意の名前に変更して問題ありません。
ただし、識別名のサフィックスと識別名のプレビューは基本的には変更しないでください。
25) [有効期間] にて、CA 証明書の有効期間の長さを指定して [次へ] をクリックします。
CA サーバーでは CA 証明書よりも長い有効期間をもつ証明書を発行することはできませんので、少し長めの期間に設定するケースが多いです。
ただし、有効期間が長すぎるとセキュリティ的にも問題がありますので、100 年の有効期間など必要以上に長く設定することは推奨しません。
26) [CA データベース] にて、証明書データベースや証明書データベースのファイルの保存場所を指定して [次へ] をクリックします。
自動補完される保存場所のパスのままで問題ありません。
27) [確認] にて、AD CS の構成ウィザードで設定した内容に問題がないか確認し、問題がなければ [構成] をクリックします。
28) [進行状況] にて、設定した CA サーバーが構成されるのを待ちます。
29) CA サーバーが正常に構成されたら、[結果] にて “構成に成功しました” と表示されていることを確認したら、[閉じる] をクリックしてウィザードを閉じます。
30) スタートボタンより、[Windows 管理ツール] の配下にある [証明機関] をクリックして管理ツールをクリックします。
31) [証明機関] です。グリーンのチェックマークがついていれば、正常に稼働しています。
証明機関 Web 登録の設定
証明機関 Web 登録を利用して証明書を発行するためには、HTTPS で Web サーバーにアクセスする必要があります。
Web サーバーに HTTPS でアクセスするために、IIS サーバー側でサーバー証明書を設定します。
以下の作業を、“証明機関” と “証明機関 Web 登録” を構成した Windows サーバー上で実施します。
1) [ファイル名を指定して実行] を開き、certlm.msc と入力して [OK] をクリックします。
2) 証明書ストアを開いたら、[証明書 – ローカル コンピューター] – [個人] を右クリックして、[すべてのタスク] – [新しい証明書の要求] をクリックします。
3) 証明書の登録ウィザードが立ち上がります。[開始する前に] にて、[次へ] をクリックします。
4) [証明書の登録ポリシーの選択] にて、”Active Directory 登録ポリシー” が選択されていることを確認して [次へ] をクリックします。
5) [証明書の登録] にて、[コンピューター] のチェックボックスを有効にして、[登録] をクリックします。
6) [証明書インストールの結果] にて、“次の証明書が登録され、コンピューターにインストールされました。” と表示されたら、[完了] をクリックします。
7) [証明書 – ローカル コンピューター] – [個人] – [証明書] を選択し、新たに証明書が登録されたことを確認します。
8) [Windows 管理ツール] より、[インターネット インフォメーション サービス(IIS) マネージャー] をクリックして開きます。
9) 画面の左ペインより、[<サーバー名>] – [サイト] – [Default Web Site] を右クリックして [バインドの編集] をクリックします。
10) [サイト バインド] にて、[追加] をクリックします。
11) [サイト バインドの追加] にて、[種類] を “https”、[SSL 証明書] にて先程発行したコンピューター証明書を選択して [OK] をクリックします。
12) [サイト バインド] にて、[閉じる] をクリックします。
サーバー証明書を発行
1) Windows OS にログオンし、サーバー証明書の CSR のファイルを任意のフォルダに保存します。
2) IE を開き、以下の URL にアクセスします。
証明機関 Web 登録にコンピューター証明書を発行する権限があるユーザーの資格情報を入力して [OK] をクリックします。
3) 証明機関 Web 登録のサイトが表示されたら、[証明書を要求する] をクリックします。
4) [証明書の要求の詳細設定] をクリックします。
5) [Base 64 エンコード CMC または PKCS #10 ファイルを使用して証明書の要求を送信するか、または Base 64 エンコード PKCS #7 ファイルを使用して更新の要求を送信する。] をクリックします。
6) CSR のファイルをメモ帳などのテキスト エディタを開き、要求内容をコピーします。
8) [保存された要求] にて CSR の内容をコピーし、[証明書テンプレート] の項目に “Web サーバー” を選択して、[送信] をクリックします。
9) [Web アクセスの確認] のメッセージが表示されたら、[はい] をクリックします。
10) “証明書は発行されました” と表示されたら、[証明書のダウンロード] をクリックします。
11) 発行された証明書(certnew.cer)をダウンロードします。
発行された証明書のファイル certnew.cer を CSR を発行した製品にインストールします。
また、サーバー証明書を登録する製品が、証明機関を信頼していない場合、[信頼チェーンのダウンロード] をクリックして、CA 証明書もダウンロードして “信頼するルート証明機関” としてインストールしましょう。