スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

自前クライアント証明書

# cd /usr/local/ssl

失効する時に必要になるから
# echo 01 > localCA/crlnumber ← 初回だけ

【クライアント証明書発行】
・秘密鍵作成
# openssl genrsa -rand /var/adm/messages -des3 1024 > localCA/private/clprivatekey.pem
パスフレーズを入力するから、それを控えておく

・CSR作成
# openssl req -new -key localCA/private/clprivatekey.pem \
-out localCA/csr/clcsr.pem

上記で入力したパスフレーズを入力する。国名とか適宜。
Common nameはクライアント証明書の名前が良いと思う。ユーザ別に配布するならユーザ名とか。

・自前CAで署名してクライアント証明書発行
# openssl ca -config ./openssl.cnf -policy policy_anything \
-in localCA/csr/clcsr.pem \
-out localCA/newcerts/clcert.pem

CA秘密鍵のパスフレーズを入力する。
有効期間を-days 有効期間で指定してもよし。

・CA証明書とまとめてPKCS12形式に変換
# openssl pkcs12 -export -in localCA/newcerts/clcert.pem \
-inkey localCA/private/clprivatekey.pem \
-certfile localCA/cacert.pem \
-out localCA/newcerts/clcert.p12


秘密鍵、CSRは削除。
# rm localCA/private/clprivatekey.pem
# rm localCA/csr/clcsr.pem


クライアント証明書は
# chmod 400 localCA/newcerts/clcert.pem

【httpd-ssl.confに設定追加】
SSLCARevocationFile /usr/local/ssl/localCA/crl//crl.pem
SSLVerifyClient require
SSLVerifyDepth 1 ← ルートCAからの深さ。自前CAで直接署名したから1

# /usr/local/apache2/bin/apachectl restart

【クライアント証明書失効】
# openssl ca -gencrl -revoke localCA/newcerts/clcert.pem
CA秘密鍵のパスフレーズ入力

# openssl ca -gencrl -out localCA/crl/crl.pem
CA秘密鍵のパスフレーズ入力

# mv localCA/newcerts/clcert.pem localCA/certs/clcert.pem

# /usr/local/apache2/bin/apachectl restart ← 必要ないかもしれないけど一応

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/124-5688d0fc

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。