SSLの導入

Apacheのインストール」でインストールした、Apache2.0.43を例に設定していきます。
今回はテスト用の証明書を作り、それで代用します。

まず、
$ cd /usr/local/apache2/conf
です。
鍵の類は /usr/local/apache2/conf に入れることにします。

秘密鍵の作成


$ openssl genrsa -des3 1024 > server.key
・・・
・・・
・・・
Enter PEM pass phrase:(パスフレーズの入力)
Verifying password - Enter PEM pass phrase:(確認用)
 

パスフレーズの入力を促されます。
ここでのパスフレーズはApacheを起動した際にも必要となります。

公開鍵の作成


$ openssl req -new -key server.key > server.csr
・・・
・・・
Enter PEM pass phrase:(パスフレーズの入力)
・・・
・・・
・・・
・・・
Country Name (2 letter code) [AU}:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Bunkyo-ku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ScouTrollNetworks
Organizational Unit Name (eg, section) []:System
Common Name (eg, your name or your server's hostname) []:scoutroll.net
Email Address []:kazan@scoutroll.net

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
 

赤文字の部分は入力する項目です。
パスフレーズは秘密鍵で入力したパスフレーズを入力します。

証明書の作成


$ openssl x509 -in server.csr -req -signkey server.key > server.crt
 

これで、server.key、server.csr、server.crt の3つのファイルが
/usr/local/apache2/conf
に作成されます。

/usr/local/apache2/conf/ssl.confの設定

デフォルトでは、server.crtとserver.keyの保存先が

SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt

SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key


に、なっているので、これを以下のように変えます。

SSLCertificateFile /usr/local/apache2/conf/server.crt
SSLCertificateKeyFile /usr/local/apache2/conf/server.key


起動の仕方は
/usr/local/apache2/bin/apachectl startssl
です。
パスフレーズを聞かれるので、秘密鍵に設定したパスフレーズを入力します。

起動のたびにパスフレーズを聞かれるのはウザイし、自動起動が出来ないので、パスフレーズはずします。


$ cd /usr/local/apache2/conf
$ openssl rsa -in server.key -out server.key


(パスフレーズの入力)
 

これで起動の際にパスフレーズを入力しなくてすみます。