Apache1.3系では、SSLを利用するためにはApache本体にパッチを当てる必要がありましたが、Apache2.0系では、Apache本体に手を加えなくても、モジュール mod_ssl を利用すればSSLを利用することができます。また、SSLの設定は ssl.conf に記述され、httpd.conf を修正しなくてもSSLの設定を行うことができます。
SSLを利用するためには、WWWサーバの公開鍵と証明書が必要です。RHEL3のApache2.0系では、これらを用意すれば、特に他の設定は不要でSSLを利用できます。以下では自己証明書を作成して利用します。
1. サーバの鍵の作成
すでに鍵がある場合には削除します。(server.crtファイルがあると、同一ファイル名では、証明書の作成ができません。)
# cd /etc/httpd/conf
# rm ssl.key/server.key
# rm ssl.crt/server.crt
# rm ssl.key/server.key
# rm ssl.crt/server.crt
鍵を作成し保存します。
# /usr/bin/openssl genrsa 1024 > /etc/httpd/conf/ssl.key/server.key
Generating RSA private key, 1024 bit long modulus
……….++++++
…………….++++++
e is 65537 (0x10001)
Generating RSA private key, 1024 bit long modulus
……….++++++
…………….++++++
e is 65537 (0x10001)
サーバの鍵が /etc/httpd/conf/ssl.key/server.key という名前で作成されます。サーバの鍵をrootユーザ以外が読むことができないようにします。
# chmod 400 ssl.key/server.key
2. サーバ証明書の作成
# make testcert
umask 77 ; \
/usr/bin/openssl req -new -key /etc/httpd/conf/ssl.key/server.key -x509 -days 365 -out /etc/httpd/conf/ssl.crt/server.crt
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.
umask 77 ; \
/usr/bin/openssl req -new -key /etc/httpd/conf/ssl.key/server.key -x509 -days 365 -out /etc/httpd/conf/ssl.crt/server.crt
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.