クライアント証明書による認証

CAを作る

 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

 dir = ./myCA
 countryName_default     = JP
 stateOrProvinceName_default = .
 0.organizationName_default  = .

サーバ証明書を作る

 openssl genrsa -rand /var/log/maillog -out server.key 1024
 openssl req -config ./openssl.cnf -new -key server.key -out server.csr
 openssl ca -config ./openssl.cnf -in server.csr -out server.crt

クライアント証明書を作る

 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の設定を変更する

 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

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS