SSL サーバー証明書には以下の2つの機能があります。
サイトの実在証明
- ウェブサイトを運営する組織が実在する事を確認する機能
- SSL 通信では、まずサーバーが「SSLサーバ証明書」をクライアントに送信します。
- クライアントは証明書について、次のことを確認します。
- 証明書が信頼できる認証機関*1によって署名されているか。
- 通信中のサーバーが、証明書に記載されているサーバーと一致しているか。
SSL暗号化通信
- ウェブサイトで入力する情報を暗号化する機能
- SSL サーバ証明書には「公開鍵」と「秘密鍵」が含まれ、クライアントは「公開鍵」を利用して入力情報を暗号化し、サーバは「秘密鍵」を使って解読します。
自己(オレオレ)証明書とは
通常、ウェブブラウザは、自分の知らない認証機関が署名したサーバ証明書が送られてくると、「信頼性を検証できない」という警告を出します。このような証明書が「オレオレ証明書」と呼ばれています。
利用者が限られている社内システムにおいては、問題ないかもしれませんが、不特定多数の利用者者がアクセスするサーバーにおいては、推奨されません。
オレオレ認証局の構築
Windows2012R2 を使用した構築例になります。AD インストール済みを前提とします。
Active Directory 証明書サービスをインストールします。
役割サービスの選択で「認証機関」と「認証 Web 登録」をチェックします。
インストール完了後、認証サービスを構成します。
役割サービスの選択で「認証機関」と「認証 Web 登録」をチェックします。
その他は、本例ではデフォルト値を使用します。
証明書を使用するサーバの構築
Microsoft 管理コンソール (MMC)から、署名要求(CSR)を作成します。
「登録ポリシーなしで続行する」を選択します。
テンプレートは「レガシキー」とし、要求形式は「PKCS」とします。
詳細のプロパティをクリックします。
サブジェクトを設定します。
拡張機能のキー使用方法に「データの暗号化」と「サーバ認証」を指定します。
秘密キーのサイズを「2048」とし、種類を「Exchange」とします。
ファイル形式は「Base 64」とします。
AD-CA*2にアクセスし「認証を要求する」をクリックします。
「証明書の要求の詳細設定を送信する」をクリックします。
「Base 64エンコード CMC・・」をクリックします。
先の手順で生成した CSR の内容を貼付し、テンプレートに「Web サーバー」を指定します。
Base 64 エンコードで「証明書」及び「証明書チェーン」をダウンロードします。
MMC を使用して、「証明書」及び「証明書チェーン」をインポートします。
証明書を適用する Web サイトを選択し「バインド」を実行します。
サイトバインドの追加で、SSL 証明書を選択します。
クライアント接続確認
証明書をインストールしていない場合、警告が表示されます。
MMC を使用して、「証明書」及び「証明書チェーン」を「信頼されたルート証明機関」へインポートします。
※注意点として「ユーザー」ではなく「ローカルコンピュータに」インポートします。
警告が表示されず、アクセス可能となります。
*1:通常は、ブラウザの製造元が信頼している認証機関
*2:http://AD-CAサーバのアドレス/certsrv