hirosanote’s blog

検証環境の構築手順やネットワーク機器のテスト結果、関連する事について記載します。このブログは個人で行っており、所属する会社とは関係ありません。

チェーン証明書の作成

チェーン化されたサーバー証明書、中間証明書、ルート証明書を使用した動作確認が必要であったため、階層構造を持った認証局を作成しました。

認証局を作成しておくと、サーバー証明書、クライアント証明書を発行しその動作テストも行えるので、便利です。

Windowsサーバーに含まれる証明書機関を使用してルート証明機関、中間証明機関を作成し、中間証明機関からサーバー証明書、クライアント証明書を発行します。

 

環境

VMware ESXiにWindows 2008 R2 Server体験版を2つ作成

 

Windows2008 R2サーバーの構築

VMware ESXiに、Windows2008 R2サーバーを2つ構築します。

インストールイメージは、マイクロソフトのサイトよりダウンロードします。

https://www.microsoft.com/ja-JP/download/details.aspx?id=11093

インストールするオペレーティングシステムの選択は"Windows Server 2008R2 Standard(フルインストール)を選択し、デフォルトのままでウィザードに従ってインストールします。

 

インストール後、Windows FireWallを無効にし、ホスト名を変更します。

1台目のWindows Serverホスト名 : rootca
2台目のWindows Serverホスト名 : interca

 

 

ルートCAの構築 

ルートCAを構築するサーバーより、スタート > すべてのプログラム > 管理ツール > サーバーマネージャー をクリックします。

 

役割 > 役割の追加 をクリックします。

 

ウィザードに従って、インストールします。

f:id:hirosanote:20170503175331p:plain

f:id:hirosanote:20170503175533p:plain

f:id:hirosanote:20170503175629p:plain

f:id:hirosanote:20170503175951p:plain

f:id:hirosanote:20170503180032p:plain

f:id:hirosanote:20170503180149p:plain

f:id:hirosanote:20170503180525p:plain

f:id:hirosanote:20170503180735p:plain

f:id:hirosanote:20170503180951p:plain

f:id:hirosanote:20170503181200p:plain

f:id:hirosanote:20170503181456p:plain

f:id:hirosanote:20170503181550p:plain

 

f:id:hirosanote:20170503181840p:plain

 

CRLの設定を行います。スタート > 管理ツール > 証明機関 をクリックします。

証明書機関名[ROOTCA-CA]を選択し右クリックからプロパティを選択します。

拡張機能タブを選択します。

f:id:hirosanote:20170503184012p:plain

 

"ldap://..","http://..","file://.."を削除します。

f:id:hirosanote:20170503184604p:plain

 

追加をクリックし、中間CAのコンピューター名を含んだ以下のURLを設定します。

http://interca/CertEnroll/<CaName><CRLNameSuffix><DeltaCRLAllowed>.crl

変数は<DeltaCRLAllowed>を選択します。

f:id:hirosanote:20170503185929p:plain

 

「発行された証明書のCDP拡張機能に含める」のチェックボックスを有効にし、「適用」をクリックします。

f:id:hirosanote:20170503190343p:plain

Active Directory証明書サービスの再起動に関するメッセージが表示されるので「はい」をクリックします。

 

「c:\windows…」を選択し、以下の箇所にチェックボックスが設定されていることを確認します。

f:id:hirosanote:20170503193257p:plain

 

「機関情報アクセス(AIA)」を選択し、”ladp://…”,”http://…”,”file://…”を削除します。

f:id:hirosanote:20170503194256p:plain

 

追加をクリックし、中間CAのコンピューター名を含んだ以下のURLを設定します。
http://interca/CertEnroll/<ServerName>_<CaName><CertificateName>.crt
変数は<CertificateName>を選択します。

f:id:hirosanote:20170503195155p:plain

 

「発行された証明書のAIAを拡張機能に含める」のチェックボックスを有効にし適用をクリックします。
Active Directory証明書サービスの再起動に関するメッセージが表示されるので「はい」をクリックします。

f:id:hirosanote:20170503195757p:plain

 

「OK」をクリックし、画面を閉じます。

f:id:hirosanote:20170503200247p:plain

 

「失効した証明書」を右クリックし、「プロパティ」を選択します。
CRL公開期間を設定し、「適用」をクリックします。「OK」をクリックし画面を閉じます。

f:id:hirosanote:20170503200936p:plain

 

「失効した証明書」を選択および右クリックし、「全てのタスク」 > 「公開」をクリックします。

f:id:hirosanote:20170503202015p:plain

 

「新しいCRL」が選択されていることを確認し「OK」をクリックします。

f:id:hirosanote:20170503202149p:plain

 

C:\Windows\System32\CertSrv\CertEnrollフォルダにセキュリティ証明書と証明書失効リストファイルが作成されていることを確認します。

f:id:hirosanote:20170503202513p:plain

これでルートCAの構築が完了です。

 

 

中間CAの構築

中間CAを構築するサーバーより、スタート > すべてのプログラム > 管理ツール > サーバーマネージャー をクリックします。

f:id:hirosanote:20170503203450p:plain

f:id:hirosanote:20170503203634p:plain

f:id:hirosanote:20170503203743p:plain

f:id:hirosanote:20170503204033p:plain

f:id:hirosanote:20170503204138p:plain

f:id:hirosanote:20170503204239p:plain

f:id:hirosanote:20170503204349p:plain

f:id:hirosanote:20170503204519p:plain

f:id:hirosanote:20170503204647p:plain

 f:id:hirosanote:20170503204745p:plain

 

f:id:hirosanote:20170503204926p:plain

 ルートCAのコンピューター名を入力し、「名前の確認」をクリックします。
「OK」をクリックします。

f:id:hirosanote:20170503205221p:plain

f:id:hirosanote:20170503205741p:plain

 

f:id:hirosanote:20170503205826p:plain

f:id:hirosanote:20170503205926p:plain

 f:id:hirosanote:20170503210020p:plain

 f:id:hirosanote:20170503210114p:plain

 f:id:hirosanote:20170503210336p:plain

 

ルートCAより、中間CA用の証明書を発行します。ルートCAへ移動し、スタート > 管理ツール > 証明機関 をクリックします。

中間CAからの証明書要求に対して、証明書を発行します。

「保留中の要求」にある要求を選択し、右クリック > すべてのタスク > 発行 を実行します。

f:id:hirosanote:20170503212634p:plain

 

「発行した証明書」にある証明書を選択し、ダブルクリックします。
「詳細」タブ > 「ファイルにコピー」をクリックします。

f:id:hirosanote:20170503213307p:plain

 

ウィザードに従って、証明書をエクスポートします。

f:id:hirosanote:20170503213512p:plain

f:id:hirosanote:20170503213633p:plain

f:id:hirosanote:20170503213917p:plain

f:id:hirosanote:20170503214042p:plain

「OK」をクリックし、証明書を閉じます。

 

中間CAに戻り、「c:\Windows\System32\CertSrv\CertEnroll」を開きます。
別ウィンドウを開き「\\rootca\c$\Windows\System32\CertSrv\CertEnroll」を開きます。
ルートCAサーバーのフォルダ内にあるファイルを、中間CAサーバーへコピーします。

f:id:hirosanote:20170503215412p:plain

f:id:hirosanote:20170503215546p:plain

 

中間CAサーバーより、スタート > すべてのプログラム > 管理ツール > 証明機関 をクリックします。
CA名を選択し、右クリック > すべてのタスク > CA証明書のインストール をクリックします。

f:id:hirosanote:20170503221003p:plain

 

ファイルの選択画面で「\\rootca\c$」を入力し、ルートCAサーバーのルートフォルダに保存されている証明書ファイルを選択します。
「開く」をクリックします。

f:id:hirosanote:20170503221342p:plain

 

「OK」をクリックします。

f:id:hirosanote:20170503221456p:plain

 

中間CA名を選択し、右クリック > プロパティ > 拡張機能タブを開きます。
CRL配布ポイント(CDP)より「http://…」を選択し、以下のオプションを有効にします。

f:id:hirosanote:20170503222603p:plain

 

機関情報アクセス(AIA)「http://…」を選択し、以下のオプションを有効にします。

f:id:hirosanote:20170503222900p:plain

適用をクリックします。

f:id:hirosanote:20170503223049p:plain

「OK」をクリックし、画面を閉じます。

 

中間CA名を選択し、右クリック > 全てのタスク > サービス開始 をクリックします。

開始が失敗する場合、再度開始を実行し、中間CA名に緑色のチェックマークが付くことを確認します。

f:id:hirosanote:20170503223539p:plain

f:id:hirosanote:20170503223620p:plain

以上で中間CAサーバーの構築が完了です。

クライアントから証明書を申請する場合、証明書を発行するサイトはSSL化されている必要があります。中間CAサーバーのIISにてSSLを有効にします。

 

 

中間CAサーバーのSSL

 クライアントからクライアント証明書を申請する場合、申請画面に使用されるIISSSL化されている必要があります。

 

中間CAサーバーより スタート > すべてのプログラム > 管理ツール > インターネットインフォメーションサービス(IIS)マネージャー をクリックします。

 

コンピューター名を選択し、「サーバー証明書」をダブルクリックします。

f:id:hirosanote:20170504212026p:plain

 

「自己署名入り証明書の作成」をクリックします。

f:id:hirosanote:20170504212902p:plain

 

フレンドリ名を指定します。

f:id:hirosanote:20170523132940p:plain

 

サイト内に作成されているサイトを選択し、「バインド」をクリックします。

f:id:hirosanote:20170504215102p:plain

 

「追加」をクリックします。

f:id:hirosanote:20170504215302p:plain

 

「種類」は「https」を選択し「SSL証明書」は作成した自己署名証明書を選択します。

f:id:hirosanote:20170523133029p:plain

 

f:id:hirosanote:20170504220518p:plain

以上でSSL化が完了です。

 

 

サーバー証明書の発行

クライアントより、中間CAへIEブラウザよりアクセスし、証明書を取得します。あらかじめ、Webサーバーやネットワーク機器でCSRを作成しておきます。

 

クライアントよりIEブラウザで、中間CAへアクセスします。

https://中間CAホスト名/certsrv

 このラボの例では、"https://interca/certsrv"となります。

 

イントラネットの設定が表示された場合は、有効にします。

f:id:hirosanote:20170523125025p:plain

f:id:hirosanote:20170523125044p:plain

 

 ウィザードに従って、証明書を要求します。

f:id:hirosanote:20170506162427p:plain

f:id:hirosanote:20170506162439p:plain

f:id:hirosanote:20170506162453p:plain

CSRを貼り付けます。-----BEGIN CERTIFICATE REQUEST-----、-----END CERTIFCATE REQUEST-----も含めます。

f:id:hirosanote:20170506162506p:plain

f:id:hirosanote:20170506162519p:plain

 

中間CAサーバーより、証明書を発行します。

スタート > すべてのプログラム > 管理ツール > 証明機関
保留中の要求 > リクエストを選択し右クリック > すべてのタスク > 発行

f:id:hirosanote:20170506162652p:plain

 

発行した証明書に、証明書が存在することを確認します。

f:id:hirosanote:20170506162850p:plain

 

クライアントより証明書を受け取ります。

f:id:hirosanote:20170506170949p:plain

f:id:hirosanote:20170506171002p:plain

f:id:hirosanote:20170523135106p:plain

 

f:id:hirosanote:20170506171029p:plain

f:id:hirosanote:20170506171042p:plain

 ダウンロードしたサーバー証明書は、CSRを発行したWebサーバーやネットワーク機器にインポートします。

 

証明書チェーン(ルート証明書、中間証明書)をダウンロードしておきます。

f:id:hirosanote:20170506171139p:plain

f:id:hirosanote:20170506171151p:plain

 

 

クライアント証明書の発行

 クライアント証明書を中間CAサーバーからインストールする場合、その中間証明書、ルート証明書をがクライアントにインストールされている必要があります。インストールされていない場合、クライアント証明書を中間CAサーバーからダウンロードするときに警告メッセージが表示され、ダウンロード及びインポートできません。

クライアントに中間証明書をインストールします。

 

ダウンロードしたチェーンファイルをダブルクリックし、開きます。

中間証明書、ルート証明書をエクスポートしファイルに保存します。

f:id:hirosanote:20170506171323p:plain

f:id:hirosanote:20170506171336p:plain

f:id:hirosanote:20170506171352p:plain

f:id:hirosanote:20170506171405p:plain

f:id:hirosanote:20170506171418p:plain

 

同様の手順で、ルート証明書をエクスポートします。

 

クライアントに中間証明書をインストールします。エクスポートしたファイルの拡張子に自動的に追加された「.cer」を削除し、拡張子が「.crt」になるようにします。

中間証明書をダブルクリックし、証明書をクライアントへインストールします。

f:id:hirosanote:20170523140011p:plain

f:id:hirosanote:20170523140324p:plain

f:id:hirosanote:20170523140515p:plain

f:id:hirosanote:20170523140547p:plain

f:id:hirosanote:20170523140635p:plain

 

ルート証明書をダブルクリックし、クライアントへインストールします。

f:id:hirosanote:20170506171532p:plain

f:id:hirosanote:20170506171550p:plain

f:id:hirosanote:20170506171609p:plain

f:id:hirosanote:20170506171625p:plain

f:id:hirosanote:20170506171639p:plain

f:id:hirosanote:20170506171655p:plain

 

クライアント証明書の要求を行います。

クライアントよりIEブラウザで、中間CAへアクセスします。
https://中間CAホスト名/certsrv
このラボの場合、”https://interca/certsrv”となります。

f:id:hirosanote:20170523212133p:plain

f:id:hirosanote:20170523212318p:plain

 

f:id:hirosanote:20170523212419p:plain

 

f:id:hirosanote:20170523212849p:plain

 

中間CAサーバーより、クライアント証明書を発行します。証明機関を起動し、「保留中の要求」にあるリクエストを選択 > 右クリック > すべてのタスク > 発行 をクリックします。

f:id:hirosanote:20170523213825p:plain

 

クライアントより、クライアント証明書をインポートします。

f:id:hirosanote:20170523214347p:plain

f:id:hirosanote:20170523214442p:plain

f:id:hirosanote:20170523214530p:plain

f:id:hirosanote:20170523214614p:plain

f:id:hirosanote:20170523214701p:plain

 IEのツール > インターネットオプション > コンテンツ > 証明書 > 個人タブにクライアント証明書がインストールされていることを確認します。