Namecheap.com の Comodo PositiveSSL ($9/year) を利用する方法を説明します。 VeriSign などと比べてあまりにも安いので最初は少し不安でしたが、ちゃんと導入できました。 Comodo PositiveSSL 以外に、RapidSSL Certificate も安いです ($10.95/year)。 2年目から高くなるようなこともなく、むしろ複数年契約するとさらに安くなります。
全体の流れ
- 秘密鍵を作成する。
- 署名要求を作成する。
- Namecheap.com で署名してもらう。
- Apache の設定を修正する。
それでは順に説明していきます。
導入手順
1. 秘密鍵の作成
OpenSSl の genrsa コマンド を使います。 Apache を起動する時に毎回パスフレーズを入力せずに済むよう、秘密鍵の暗号化はしないことにします。
$ openssl genrsa -out server.key 2048
最近は 2048 ビット以上の鍵長が推奨されています。 次のコマンドで秘密鍵の内容を確認できます。
$ openssl rsa -in server.key -text -noout
2. 署名要求 (Certificate Signing Request) の作成
OpenSSl の req コマンド を使います。
$ openssl req -new -key server.key -out server.csr -sha1
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Nakano
Organization Name (eg, company) [Default Company Ltd]:TipsZone
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:tipszone.jp
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
※Common Name の内容はとても重要です。SSL を導入しようとしているドメインを指定します。 また、ポートを指定する必要はありません。同じ証明書を好きなポートで利用できます。
次のコマンドで上記の入力内容を確認できます。
$ openssl req -in server.csr -text -noout
3. Namecheap.com で署名してもらう
まず、Namecheap.com でアカウントを作成しましょう。 作成出来たら、「SSL Certificates 」の所から好きな種類を選択して(署名してもらう権利を)購入します。 Comodo PositiveSSL と RapidSSL Certificate が安いです。
購入するとメールが届きますので、本文中の SSL listing page のリンクをクリックして開きましょう。 次の様なページが表示されます。
[Activate Now] のリンクをクリックし、署名を要求します。
[Select web server] の所は Apache+OpenSSL を選択し、[Enter csr] の所には作成しておいた server.csr の内容をコピペします。
申請者がドメイン所有者であることを確認するためのメールをどこに送ってもらうか選択します。 署名要求が終わると、次の文言を含むメールが届きます。
please browse here and enter the following "validation code":
here の所がリンクになっているのでクリックして開きましょう。
同じメールに記載されている validation code を入力し、署名要求の妥当性を証明します。 後はしばらく待つと署名された証明書の添付されたメールが届きます。
※もしも「メールが届かない」などのトラブルに見舞われた場合には、サポートページ から例えば LIVE CHAT で連絡することで即座に対応してもらうことができます。
4. Apache の設定
ssl.conf を少し修正すれば良いです。 次の例では、署名済みの証明書のファイル名を server.crt としています。 最後のメールに添付されて来たファイルです。
Listen 443
<VirtualHost _default_:443>
(略)
SSLCertificateFile /フルパス/server.crt
SSLCertificateKeyFile /フルパス/server.key
(略)
</VirtualHost>
その他の DocumentRoot なども適切に設定してください。
mod_ssl の設定に関する詳細は以下をご覧ください。
Apache Module mod_ssl
Apache を再起動する前に次のコマンドで設定の妥当性を検証できます。
$ httpd -t
参考
※このページはリンク先の画像をポップアップ表示するブックマークレットを使っています。