2004/08
Apache-2.0.54-r8

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"

Index
Basic認証の設定(ファイル認証)
Basic認証の設定(DB認証)
ApacheでのSSLの設定
SSIの設定と利用