opensslを利用した簡易CA(電子認証局)構築のメモ書き 2002/12/25 目的:なんちゃって認証局を開設し、エンドユーザの証明書を乱発し、暗号化/署名メールの やり取りを可能な環境を構築する (なんちゃって)認証局の開設 (認証局側作業) ============================ o cd /usr/local/ssl/misc o ./CA.sh -newca - pass phrase : ******** (パスフレーズ) - Country : JP (国コード) - State : Osaka (都道府県) - Locality : Ibaraki (市区町村) - Organization : M.Y.H (組織) - Organization Unit : CA section (所属) - Name : caroot (名前) - Email : caroot@myh.foo.org (メールアドレス) o openssl x509 -outform der -in demoCA/cacert.pem -out demoCA/cacert.der o chmod 444 demoCA/cacert.pem demoCA/cacert.der o chmod 400 demoCA/private/cakey.pem 認証局の受け入れ (エンドユーザ作業) ================ o エンドユーザに上記で作成した /usr/local/ssl/misc/demoCA/cacert.der を *安全な方法*で取得してもらい、outlookにインポートしてもらう(なんちゃっ て認証局を受け入れてもらう)。 証明書発行請求 (エンドユーザ作業) ============== o *安全な方法*で以下の項目を認証局に渡し、証明書を請求する。 - 国(C): - 都道府県(ST): - 市区町村(L): - 組織(O): - 所属(OU): - 名前(CN): - メールアドレス(Email): - パスワード(P): 証明書発行作業 (認証局側作業) ============== o cat /bin/ls /bin/foo >demoCA/random.dat (そのときの気分で適当なファイルをくっつけて乱数種ファイルを作成する) o openssl genrsa -rand demoCA/random.dat -aes256 2048 >demoCA/private.pem (プライベート鍵作成) <<証明書要求者のパスワード(P)入力(2度)>> o openssl req -new -sha256 -key demoCA/private.pem -out demoCA/csr.pem (証明書発行要求作成) <<証明書要求者のパスワード(P)入力>> Country Name (2 letter code) [AU]:xxxxx(国(C)) State or Province Name (full name) [Some-State]:xxxxx(都道府県(ST)) Locality Name (eg, city) []:xxxxx(市区町村(L)) Organization Name (eg, company) [Internet Widgits Pty Ltd]:xxxxx(組織(O)) Organizational Unit Name (eg, section) []:xxxxx(所属(OU)) Common Name (eg, YOUR name) []:xxxxx(名前(CN)) Email Address []:xxxxx(メールアドレス(Email)) A challenge password []: An optional company name []: o openssl ca -md sha256 -policy policy_anything -days 365 -out demoCA/cert.pem -infiles demoCA/csr.pem (証明書作成) <> o openssl pkcs12 -export -in demoCA/cert.pem -inkey demoCA/private.pem -certfile demoCA/cacert.pem -out demoCA/mycert.p12 <<証明書要求者のパスワード(P)入力>> exportパスワードは「ENTER」入力 秘密鍵 + 電子証明書(公開鍵+CA署名)のファイル(demoCA/mycert.p12)を作成する。 o demoCA/mycert.p12 を添付メールで送付 証明書取り込み作業 (エンドユーザ作業) ================== o *安全な方法*で demoCA/mycert.p12 を取得 demoCA/mycert.p12 は*絶対*に他人に盗まれないように、厳重管理すること! o outlook にインポートする <<証明書要求者のパスワード(P)入力>> 証明書廃棄作業 (認証局側作業) ============== o openssl ca -revoke demoCA/cert.pem <-- 廃棄対象者の電子証明書 廃棄リスト(CRL)作成作業 (認証局側作業) ======================= o openssl ca -gencrl -out demoCA/crl.pem o openssl x509 -outform der -in demoCA/crl.pem -out demoCA/crl.der 廃棄リスト(CRL)取り込み (エンドユーザ作業) ======================= o エンドユーザに、定期的に、上記で作成した /usr/local/ssl/misc/demoCA/crl.der を 取得してもらい、outlookにインポートしてもらう。 参照 ==== o http://www01.bml.co.jp/technotes/ssl/ OpenSSL(SSLeay)による認証局の構築 MIYACHI Yasuhiko w3mでSSL認証するための設定 ========================== o cd ~/.w3m o mkdir ssl o chmod 700 ssl o cd ssl cert.pem(自分のPEM形式証明書ファイル) private.pem(自分のPEM形式秘密鍵ファイル) cacert.pem(認証局のPEM形式証明書ファイル) を ssl の下に置く o 秘密鍵の暗号化解除(非推奨) openssl rsa -in private.pem -out temp mv temp private.pem o chmod 400 private.pem o chmod 444 cert.pem cacert.pem o w3m Option Setting Panel SSLの設定 使わないSSLメソッドのリスト(2: SSLv2, 3: SSLv3, t:TLSv1) [ ] SSLのサーバ認証を行う (*)YES ( )NO SSLのクライアント用PEM形式証明書ファイル [/home/m-ito/.w3m/ssl/cert.pem ] SSLのクライアント用PEM形式秘密鍵ファイル [/home/m-ito/.w3m/ssl/private.pem] SSLの認証局のPEM形式証明書群のあるディレクトリへのパス [/home/m-ito/.w3m/ssl ] SSLの認証局のPEM形式証明書群のファイル [/home/m-ito/.w3m/ssl/cacert.pem ] o 他の認証局の証明書を入手したら /home/m-ito/.w3m/ssl/cacert.pem に追加すれば良い(?) リンクいただいております:) ========================== o 佐祐理の徒然草 : http://d.hatena.ne.jp/messier42/20060126 o eto.com/d - 0310 : http://eto.com/d/0310.html