自前のWebサーバーを構築して、自身のWebサイトをSSL/TLS化したいとき、単純にSSL/TLSサービスを起動して、終わり、というわけにはいきません。
SSL/TLSサーバーとして公開するには、証明書を用意したり、認証局に申請したりと、事前の準備が必要であり、インターネットに公開するにはお金もかかります。
サーバー証明書を発行するまでの流れ
- SSL/TLSサーバーで秘密鍵を作成する
- 1で作成した秘密鍵をもとに「CSR(Certificate Signing Request)」を作成し、認証局に提出する
- 認証局の審査を受ける
- 認証局から受け取ったサーバー証明書をSSL/TLSサーバーにインストールする
1. SSL/TLSサーバーで秘密鍵を作成する
負荷分散装置やSSLアクセラレータなどでSSLアクセラレーションするときは、負荷分散装置もしくはSSLアクセラレーションで秘密鍵を作成します。
2. CSR(Certificate Signing Request)を作成する
CSRはサーバー証明書を取得するために認証局に提出するランダムな文字列のことです。CSRは署名前証明書の情報で構成されていて、作成するときにそれぞれ入力します。CSRを作成するために必要な情報は「ディスティングウィッシュネーム」と呼ばれ、下表のような項目があります。
項目 | 説明 |
---|---|
一般名称(CN) | Common Name。WebサーバーのURL(FQDN) |
組織名(O) | Organization。サイトを運営する組織名(通常は企業名) |
部門名(OU) | Organization Unit name。サイトを運営する組織の部門名 |
市町村名(L) | サイトを運営する組織の所在地(市町村名) |
都道府県名(S) | サイトを運営する組織の所在地(都道府県名) |
国別コード(C) | 国コード |
上記項目は一般的なものであり、申請に必要な項目や求められる公開鍵長は、申請する認証局によって異なります。詳細は認証局(CA)のWebサイトなどを確認してください。
3. 認証局の審査を受ける
審査は、いろいろな与信データや第三者機関のデータベースに記載されている電話番号への電話など、認証局の中で決められている各種プロセスに基づいて行われます。審査にパスしたら、CSRをハッシュ化、認証局の秘密鍵で暗号化して、ディジタル署名としてくっつけます。そして、認証局はサーバー証明書を発行し、要求元に送ります。サーバー証明書もランダムな文字列です。
4. サーバー証明書のインストール
認証局から受け取ったサーバー証明書をSSL/TLSサーバーにインストールします。使用する認証局によっては、中間証明書も一緒にインストールする必要があります。中間証明書は、中間認証局が発行している証明書です。認証局はたくさんの証明書を管理するために、ルート認証局を頂点とした階層構造になっています。中間認証局は認証局(ルート認証局)の認証を受けて稼動している下位認証局です。