home prev next

自己認証局と証明書の作成手順


サーバ証明書


Webサーバの設定

通常、Webサーバとクライアント間は HTTPプロトコルにより通信が行われる。
HTTP通信は平文で行われるため、ユーザ名やパスワードはもとより機密性の高い情報を扱う場合には通信を暗号化する必要がある。
そのため、SSL を利用して HTTP通信をセキュア化する。

SSL を利用する場合にはオプションに --enable-ssl を指定する。

Fig.2-15: Webサーバのインストール
tar zxvf httpd-2.2.10.tar.gz
cd httpd-2.2.10
./configure --prefix=/usr/local/apache2 --enable-ssl --with-ssl=/usr/local/ssl
make
make install

しかし、実際には以下のように SSL のライブラリが見つからないと言われる(LD_LIBRARY_PATH も設定済み)。
やむ得ないので configure の 15255 〜 15259行目をコメントアウトした(別に無くても問題なさそう)。

Fig.2-16: Webサーバのインストール時のメッセージ
checking openssl/engine.h usability... yes
checking openssl/engine.h presence... yes
checking for openssl/engine.h... yes
checking for SSLeay_version... yes
checking for SSL_CTX_new... no
checking for ENGINE_init... yes
checking for ENGINE_load_builtin_engines... no
checking for SSL_set_cert_store... no
configure: error: ... Error, SSL/TLS libraries were missing or unusable

インストールが完了したら Webサーバの設定を行います。

Fig.2-17: http.conf の編集
Include conf/extra/httpd-ssl.conf

Fig.2-18: httpd-ssl.conf の編集
<VirtualHost _default_:443>
ServerName 192.168.1.9:443
SSLCertificateFile "/usr/local/ssl/SERVER/cert.pem"
SSLCertificateKeyFile "/usr/local/ssl/SERVER/servernopass.key"
SSLVerifyClient require
SSLVerifyDepth 1

これで、https で接続すれば SSL でアクセスできます。
但し、自己認証局を利用して署名したサーバ証明書を利用しているため、WEBブラウザでアクセスすると警告が表示されます。
この警告は、ブラウザに登録していない認証局が署名したサーバ証明書を利用している場合に表示します。
これを回避するには、作成した自己認証局の証明書をブラウザに登録します。
ブラウザには DERフォーマット(cacert.der)を配布して登録してください。
ブラウザに信用してよい認証局として登録すれば、次回の接続から警告は出なくなります。


home prev next

Last-modified: Fri Nov 14 12:32:40 JSP 2008
Site admin:りお

Powerd by ninjatools

ふつう このページは Another HTML-lint gatewayふつうと判断されました。