Apache SSL 環境を構築する
認証局から証明書を発行してもらう場合
ケータイサイトとして運用するかどうか注意すること。
ケータイ本体にルート証明書が入っていないために、ケータイからは使えない場合がある。
2009/06/25 より以下が利用できるようになった。
http://www.asial.co.jp/ssl-mobile/index.php
秘密鍵と認証証明リクエストの作成
以下2つを作成する。
秘密鍵の作成は以下。
su - cd /usr/bin ./openssl md5 * > rand.dat ./openssl genrsa -rand rand.dat -des3 1024 > 2008key.pem
途中で秘密鍵のパスフレーズを入力する。
パスフレーズは絶対に忘れてはならない。
パスフレーズは以下で必要になる。
認証証明リクエスト作成は以下。
./openssl req -new -key 2008key.pem -out 2008csr.pem
入力例は以下。
- Country Name (2 letter code) [AU]: JP
- State or Province Name (full name) [Some-State]: Tokyo
- Locality Name (eg, city) []: Shinjuku
- Organization Name (eg, company) [Internet Widgits Pty Ltd]: 会社名ローマ字
- Organizational Unit Name (eg, section) []: そのまま Enter
- Common Name (eg, YOUR name) []: ドメイン名
残りの項目は全て Enter でいい。
証明書の到着
証明書発行業者へ認証証明リクエストを提出してから数日で、
業者から証明書が送られてくる。
この証明書も大切に保管しておくこと。
秘密鍵と証明書の設置
su - cp 2008cert.pem /etc/pki/tls/certs/ cp 2008key.pem /etc/pki/tls/private/
ちなみに秘密鍵と証明書の設置場所は、実際にはどこでもいい。
apache の設定ファイルで、設置場所のフルパスを記述するので。
ただ、他と同じやり方に従っておいた方が混乱が少ないので上記のようにしている。
Apache の設定
Apache の設定ファイルを開く。
su - vi /etc/httpd/conf.d/ssl.conf
下記のように変更する。
# SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/pki/tls/certs/2008cert.pem # SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/pki/tls/private/2008key.pem
Apache の再起動
設定変更後は再起動時にパスフレーズの入力を毎回求められる。
※マシン起動時はパスフレーズ無しで起動している模様。
# su - # service httpd restart Stopping httpd: [ OK ] Starting httpd: Apache/2.2.3 mod_ssl/2.2.3 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server 61.200.29.79.vpsstock.jp:443 (RSA) Enter pass phrase: OK: Pass Phrase Dialog successful. [ OK ]