720円で SSL を導入する方法


Namecheap.com の Comodo PositiveSSL ($9/year) を利用する方法を説明します。 VeriSign などと比べてあまりにも安いので最初は少し不安でしたが、ちゃんと導入できました。 Comodo PositiveSSL 以外に、RapidSSL Certificate も安いです ($10.95/year)。 2年目から高くなるようなこともなく、むしろ複数年契約するとさらに安くなります。

全体の流れ

  1. 秘密鍵を作成する。
  2. 署名要求を作成する。
  3. Namecheap.com で署名してもらう。
  4. Apache の設定を修正する。

それでは順に説明していきます。

導入手順

1. 秘密鍵の作成

OpenSSlgenrsa コマンド を使います。 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

参考

※このページはリンク先の画像をポップアップ表示するブックマークレットを使っています。

カテゴリー: 記事 タグ: パーマリンク

コメントを残す