ApacheでのSSLの設定
SSLの設定
サーバー証明書の作成
パスフレーズで保護された秘密鍵(server.key)を生成します。
$ openssl genrsa -des3 -rand /var/log/messages -out server.key 1024
10441 semi-random bytes loaded
Generating RSA private key, 1024 bit long modulus
.......................................................++++++
.......++++++
e is 65537 (0x10001)
Enter PEM pass phrase ←パスフレーズ入力
Verifying password - Enter PEM pass phrase: ←再度パスフレーズ入力
次に、CSRを作ります。CSRとは、サイト証明書を発行するためのリクエストです。
(-daysオプションで証明書の有効期限を設定できます)
$ openssl req -new -key server.key -out server.csr
Using configuration from /etc/ssl/openssl.cnf
Enter PEM pass phrase: ←先程のパスワード入力
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) [AU]: ←入力
State or Province Name (full name) [Some-State]: ←入力
Locality Name (eg, city) []: ←入力
Organization Name (eg, company) [Internet Widgits Pty Ltd]: ←入力
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:
Email Address []: ←入力
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
認証局を使わず、自分で署名する場合は、以下のようにします。
$ openssl x509 -req -in server.csr -signkey server.key -out server.crt
Signature ok
subject=/C=JP/ST=KANAGAWA/L=TAMAKU/O=Air/Email=
Getting Private key
Enter PEM pass phrase: ←入力
備考
このようにして作成した鍵をApacheで使用すると、Apacheの起動時に毎回パスフレーズを聞かれます。
パスフレーズの入力が面倒な場合は、鍵からパスフレーズを削除します。
これはサーバー証明書作成後行います。
$ openssl rsa -in server.key -out server.key
read RSA private key
Enter PEM pass phrase: ←パスフレーズ入力
writing RSA private key
起動オプションの編集を行います。
$ vim /etc/conf.d/apache2
#(修正)
APACHE2_OPTS="-D SSL"