(1) opensslの設定
$ emacs /etc/ssl/openssl.cnf
# 以下2つの行をコメントアウトする。
nsCertType = server
nsCertType = sslCA,emailCA
h3.
(2) 証明書(自己証明書)の作成
$ cd /usr/lib/ssl/misc/
$ ./CA.sh -newca
・秘密鍵(demoCA/private/cakey.pem)、公開鍵(demoCA/cacert.pem)を作成する。
・自己証明書の場合、demoCAというディレクトリ配下に作成される。
$ sudo openssl rsa -in ./demoCA/private/cakey.pem -out demoCA/private/cakey.pem
※ Apache起動のたびにパスフレーズを聴かれるので、パスフレーズを消す。
※ -outのcakey.pemは、別ファイル名でもよい。
$ sudo openssl x509 -in ./demoCA/cacert.pem -out demoCA/cacert.crt
・証明書(demoCA/cacert.crt) を作成する。
$ sudo openssl x509 -inform pem -in demoCA/cacert.pem -outform der -out demoCA/ca.der
・demoCA/ca.derを作成する。
(3) 証明書をApacheに登録する。
$ sudo mkdir /etc/apache2/ssl
$ sudo cp demoCA/cacert.crt /etc/apache2/ssl
$ sudo mkdir /etc/apache2/ssl/private
$ sudo cp demoCA/private/cakey.pem /etc/apache2/ssl/private
$ cd /etc/apache2/mods-available
$ sudo cp /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz .
$ gzip -d httpd-ssl.conf.gz
$ sudo ln -s /etc/apache2/mods-available/httpd-ssl.conf /etc/apache2/mods-enabled
(4) httpd-ssl.confに秘密鍵と公開鍵、それに紐付くサーバ名を登録する。
$ sudo emacs httpd-ssl.conf
# 以下項目を書き換える。
DocumentRoot "/var/www"
SSLCertificateFile /etc/apache2/ssl/cacert.crt
SSLCertificateKeyFile /etc/apache2/ssl/private/cakey.pem
$ sudo a2enmod ssl
# 上記コマンドを実行することで、以下シンボリックリンクが作成される。
# /etc/apache2/mods-enabled/ssl.conf, /etc/apache2/mods-enabled/ssl.loadの
# シンボリックリンクが作成される。
$ sudo a2ensite /etc/apache2/mods-enabled/httpd-ssl.conf
h
(5) ssl通信(https通信)用のポート(443)を解放する。
これは各人の動作環境で必要に応じて設定して下さい。ファイヤーウォールの設定です。