apache2+SSL(client認証) on WhiteBox Linux
WhiteBox Linuxで、SSL対応(client認証付き)httpdを設定する方法。
(1)サーバ用の認証鍵を作成する。
# /etc/httpd/conf # make server.key # make server.csr # make server.crt
(2)認証局を立てる。
認証局自身の鍵と証明書を作成
# mkdir private_CA # openssl req -new -x509 -key ca.key -out ca.crt # touch index # echo ''01'' > serial # mkdir certs# openssl req -new -key ../server.key -out server.csr
# openssl ca -config ca.config -out server-ca.crt -infiles server.csr
作成した証明書をチェックする。
# openssl verify -CAfile ca.crt server-ca.crt
(3)Windowsに渡すルート認証局情報を作成
# openssl x509 -in ca.crt -out ca.cer -outform DER
(4)作成したクライアント証明書をprivate認証局で証明書を発行してもらう
まずは、コンフィグレーションファイルを作成。/etc/httpd/conf/private_CA/ca.config
[ ca ] default_ca = CA_own [ CA_own ] dir = . certs = $dir new_certs_dir = $dir/certs database = $dir/index serial = $dir/serial RANDFILE = $dir/rand certificate = $dir/ca.crt private_key = $dir/ca.key default_days = 365 default_crl_days = 365 default_md = md5 preserve = no policy = policy_anything [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional
# cd private_CA/ # openssl ca -config ca.config -out ../client_auth/client-ca.crt -in files ../client_auth/client.csr # cat client.key client-ca.crt | openssl pkcs12 -export -out client .p12 -name "client key"
ここで作成されたclient.p12をWindowsのブラウザに喰わせる。