突然とち狂ってモバイルで Blog 更新だだだという気分になってしまった場合にパスワードが平文で流れるのは気分が悪いので管理画面を SSL にするのこと。でも SSL とかさっぱりなのでやっぱりパクっていいとこどりするいやなやつ > mass
あまりに長くなったので「追記」行き。
前提:
FreeBSD 5.X-CURRENT で Ports から apache2 をインストールしていること。
DocumentRoot とか cgi-bin とかの位置はデフォルトのまま。
- 秘密鍵とサーバ証明書の作成
サーバ証明書は本来でしたら正規の認証局に依頼して発行してもらい、「なりすまし」と「盗聴」を防止するものなのですが、ここでは通信経路を暗号化して「盗聴」を防ぎたいだけなので自己認証で発行します。もうちょっと突っ込みたい方は「初めてのSSLサーバ証明書 ガイド サーバIDとは」(日本ベリサイン) をどうぞ。
apache2 の各種設定ファイルと同じところにいろいろ置きます。秘密鍵とサーバ証明書を置くディレクトリを作りましょう。
# cd /usr/local/etc/apache2/ # mkdir ssl.key ssl.crt
○秘密鍵の作成
"-rand" には鍵生成のための乱数ファイルを指定します。これは内容がめためたであればあるほど良いようです。 /var/log/messages を使う方が多いようですが、うちは apache2 のアクセスログがいちばん活きが良いのでそちらを使いました。その他のパラメータは VeriSign の手順通りにしましょう。
# openssl genrsa -des3 -rand /var/log/httpd-access.log -out ssl.key/server.key 1024 15249751 semi-random bytes loaded Generating RSA private key, 1024 bit long modulus ...............................................++++++ ..........++++++ unable to write 'random state' e is 65537 (0x10001) Enter pass phrase for ssl.key/server.key:<てきとーなpassphrase> Verifying - Enter pass phrase for ssl.key/server.key:<もっかいpassphrase>
途中で妙なメッセージが出てるけど私は気にしません。
○ CSR の作成
証明書発行要求書、と言うらしい。これを認証局に送るとサーバ証明書を送り返してくれるらしい。らしいばっか。
"-key" とか "-rand" とか "-out" とか紛らわしいので気をつけましょう。
いろいろと入力を要求されますが、すべてローマ字で回答してください。
自己認証なので内容は適当でも良いですが、もし本当の認証局に提出するならそれなりにしっかりと回答しましょう。
# openssl req -new -key ssl.key/server.key -out server.csr Enter dpass phrase for ssl.key/server.key:<秘密鍵のpassphrase> 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.