SSL(https)の証明書の購入とApacheの設定方法

このたび、SSLのワイルドカード証明書を取得して、Apacheに設定したので、作業手順をメモしました。

以下の記事の正式版?有料版です。

CentOS 6でオレオレ証明書を作ってみた
https、SSL証明書はベリサイン等のサーバー屋さんから買うのが普通なのですが、自分で証明書を作ることも可能です。 自分で作った証明...

ちなみに、Let's Encryptを使った証明書の使用例は以下にまとめました。

Let's Encrypt 無料のhttps(SSL)証明書のインストール&セットアップ
Googleウェブマスター向けの公式ブログで「HTTPS ページが優先的にインデックスに登録されるようになります」(2015...

スポンサーリンク

CoreSSLの証明書、ワイルドカード証明書

SSLは、Secure Socket Layerの略で、インターネット上で情報を暗号化して送受信できる仕組みです。
個人情報・クレジットカード情報などの大切なデータを安全にやりとりできます。

基本、httpsで通信する際に使われるものです。

最近は、Googleがhttps化しているサイトをSEO上優遇すると発表しているので、ログインする際だけではなく、WEBサイトを常時SSL化しておくと検索エンジン対策になるのでしょうね。

そういう意味において、ログインが必要でないサイトもSSLの証明書を買って設定するのは意味があると言えるでしょう。

ところで、SSLの証明書には、ワイルドカード証明書というのがあり、「*.(ドメイン名)」で使うことが可能となります。

例えば、ヤフーのようにサブドメインでサービスを分けているようなドメインの場合、ワイルドカード証明書を購入しておけば、その証明書だけでサブドメインをすべてカバーすることが出来るわけです。

  • ポータルサイト www.yahoo.co.jp
  • オークション auction.yahoo.co.jp
  • ショッピング shopping.yahoo.co.jp

ワイルドカード証明書とは 同一のドメイン内であれば、指定されたドメインに属している複数のサブドメインにおいてもSSL証明書の機能が有効となる証明書です。

image

例えば、通常「secure.example.com」で発行された証明書は、”www.example.com”では、利用することが出来ませんが、「*.example.com」で発行されたワイルドカード証明書では、”secure.example.com”や”www.example.com”など、”example.com”に属する複数のサブドメインでの利用が可能です。

※「111.xxx.example.com」など、ドメインのレベルが異なる場合は利用できませんのでご注意ください。

また、証明書の購入先は、基本どこで買っても大差はないです

ベリサインとか有名なところは少し高めなのでやめることにします。

今回、私は、ベリサインよりはるかに安くワイルドカード証明書が購入できるCoreSSLの証明書を買うことにしました。

日本では以下のネットオウルのサイトから年間12,000円で購入できます。

格安SSL証明書サービス、SSLボックス

当然ですが、証明書は年次更新が必要です。

つまり、毎年、お金を払って更新する必要があるのです。

正直な感想は、なんで、証明書発行会社に毎年お金を払わなきゃいけないんだろうって感じですね。

証明書発行会社は、まったく、サイトの中身のチェックなどは行いません。

結構、ボロい商売かもしれませんね。。

SSL(https)証明書の購入・取得方法

ネットオウルのホームページを見ると、いろいろ種類がありますが、今回は、CoreSSLワイルドカードを購入します。

image

正しく、購入手続きが済むと以下の画面になります。

image

これ以降は、サーバー側で設定します。

秘密鍵の作成とCSRを作成します。

Apacheのルートフォルダを/etc/httpdとします。

以下の2個のフォルダを作成しておきます。

/etc/httpd/conf/ssl.key

/etc/httpd/conf/ssl.crt

md5 ダイジェスト値を擬似乱数の情報を生成します。

作成した擬似乱数ファイル(rand.dat)から、秘密鍵を作成します。

パスフレーズを求められますが、パスフレーズは忘れないようにメモしておきます。

指定したファイル名 (newkey.pem) で、秘密鍵ファイルが作成されます。

作成した秘密鍵ファイルからCSRを生成します。

下記のようなディスティングイッシュネーム情報を入力する必要があります。

Country (国名) 半角大文字で JPと入力
State
(都道府県名)
都道府県名をローマ字表記で入力
Locality
(市区町村名)
市区町村名をローマ字表記で入力
Organizational Name
(組織名)
正式英語組織名 (会社名・団体名など)を入力
Organizational Unit
(部門名)
部門名・部署名など、任意の判別文字列を入力
※同一コモンネームでの複数申請は、この項目の指定文字列を変更して申請件数分CSRを生成します。
Common Name
(コモンネーム)
URL(SSL/TLS接続の際のURL:FQDN)を入力

以上で、newkey.pemというCSRが生成されます。

続いてネットオウルの管理コンソールでの作業です。

コモンネームにワイルドカードのドメイン名、CSR入力欄にサーバーで生成したnewkey.pemの中身を貼り付けます。
image

「次へ進む」を押します。

image

正しく登録すると、登録された承認メールアドレス宛てにメールが届きます。

このメッセージは、セキュアコアのSSL証明書の申請時に

選択された「承認用メールアドレス」宛に送信しております。

以下のコモンネームに対しSSL証明書が申請されました。

■コモンネーム

*.xxx.xxx.xxx

申請を承認する場合は、以下のURLにアクセスし、"validation code"を入力してください。

URL:https://secure.comodo.net/products/EnterDCVCode?orderNumber=xxxxxxxx

validation code:owdB5xxxxxxxxxxxxxxxxxxxxxx

承認手続きに関するご質問やご不明な点は、販売代理店までお問い合わせください。

----------------------------------------------------------------------

セキュアコア株式会社

https://www.securecore.co.jp

メールに書いてあるURLをクリックして、validation codeを入力します。

image

しばらく待って、ネットオウルの管理画面を見てみると、SSL証明書と中間証明書がダウンロードできるようになっていました。

image

SSL証明書と中間証明書をダウンロードして、Apacheのサーバー側にコピーしておきます。

ApacheでのSSL証明書の設定手順

SSL証明書と中間証明書を

/etc/httpd/conf/ssl.crt にコピーしておきます。

次に、ヴァーチャルホスト(仮想ホスト用)の設定ファイル /etc/httpd/conf.d/sample.conf を開いてポート443の設定に

SSLCertificateFile、SSLCertificateKeyFile、SSLCertificatteChainFile を追加します。

mod_rewriteの設定で、常時SSL化も実現されます。

常時SSL化しておけば、httpで接続しようとしてもhttpsにリダイレクトされて、通信が常時暗号化されます。

Apacheを再起動します。

パスフレーズの入力が求めれます。

サーバーをrebootコマンドで再起動しようとすると、Apacheを自動起動に設定していてもパスフレーズで待ち状態となって、Apacheが起動しないので注意が必要です。

ブラウザで確認

設定が正しいことをブラウザで確認します。

上記の仮想ホストの場合、http://aaa.bbb.cccを開くとhttps://aaa.bbb.cccにリダイレクトされます。

ブラウザから以下のように見えれば正解です。

image

めんどくさいけど、ここまで数時間の作業で完了出来ます。

最後まで読んでいただきありがとうござました。
この記事が気に入っていただけたらシェアしてくれると嬉しいです。

スポンサーリンク
スポンサーリンク
Translate »