* クライアント証明書による認証 [#g7577a61]
** CAを作る [#fba01063]
cp /usr/lib/ssl/misc/CA.sh .
cp /usr/lib/ssl/openssl.cnf .
SSLEAY_CONFIG="-config ./openssl.cnf" DAYS=3650 CATOP=myCA ./CA.sh -newca
*** openssl.cnf [#ned2f049]
dir = ./myCA
countryName_default = JP
stateOrProvinceName_default = .
0.organizationName_default = .
** サーバ証明書を作る [#x80ec24e]
openssl genrsa -rand /var/log/maillog -out server.key 2048
openssl req -config ./openssl.cnf -new -key server.key -out server.csr
openssl ca -config ./openssl.cnf -in server.csr -out server.crt
** クライアント証明書を作る [#ic633236]
openssl genrsa -rand /var/log/messages -out client.key 1024
openssl req -config ./openssl.cnf -new -days 3650 -key client.key -out client.csr
openssl ca -config ./openssl.cnf -in client.csr -out client.crt
openssl pkcs12 -export -inkey client.key -in client.crt -out client.p12 -name "Client Certificate"
** Apacheの設定を変更する [#c26e4e0b]
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SSLCACertificatePath /etc/apache2/ssl/ca
SSLCACertificateFile /etc/apache2/ssl/ca/cacert.pem
SSLVerifyClient require
SSLVerifyDepth 10
** ルート証明書をブラウザへインストールする [#h29e4765]
http://www.jcsinc.co.jp/support/vista7_root.html