* OpenSSLのCAコマンドを使ったCA構築 [#n2e59462]

** CA構築の準備 [#f9ac15cb]
 mkdir /tmp/pki
 cd /tmp/pki/
 cp /etc/pki/tls/misc/CA .
 cp /etc/pki/tls/openssl.cnf .
- CA(CA作成スクリプト)やopenssl.cnfの設置場所はOSによって異なるので、予め探しておく。
- なお、CAスクリプトを使わずにopensslコマンドだけでもCA構築はできるが、opensslのコマンド体系、設定はとても複雑なため、理解が大変だと思う。
- 今回は作業を/tmp/pki以下で行う。

** CA用openssl.cnfの設定 [#g10e00f0]
*** CATOPの設定 [#j30872a2]
 vi openssl.cnf

 [ CA_default ] 
 
 dir = /tmp/pki/myCA

- 今回は作業を/tmp/pkiで行い、CAを/tmp/pki/myCAに作成する。
- OS標準では/etc/pkiがルートで、CAは/etc/pki/CAに作成される。

*** その他の設定 [#v124918b]
 vi openssl.cnf

 default_days    = 3650
 default_md      = sha256
 default_bits    = 2048

- default_daysは任意だが今回は期間3650日にする。
- default_mdとdefault_bitsは上のようにsha256、2048ビットにする。

 countryName_default         = JP
 stateOrProvinceName_default = Tokyo
 localityName_default        = 1-2-3, Ginza, Chuou-ku
 emailAddress_default        = foo@example.co.jp

- その他、住所などが定型であればここで指定しておく。

** CA証明書・秘密鍵の作成 [#if175212]
*** CADAYSの設定 [#t3c74b7b]
 vi CA
 CADAYS="-days 3650"

- CA証明書の有効期限を変更するためCAコマンドを編集してCADAYS変数の値を修正する。

*** 認証局のコモンネーム他DN情報の確認 [#y1f9afc7]

 commonName = My CA

- 認証局のコモンネーム他DDN情報をあらかじめ決めておく。
- パスフレーズも決めておく。

*** CA作成スクリプトの実行 [#u595de39]
 SSLEAY_CONFIG="-config ./openssl.cnf" CATOP=/tmp/pki/myCA ./CA -newca

*** CA作成スクリプトによって作成されたファイル [#i1891ddc]
- CA証明書  /tmp/pki/myCA/cacert.pem
- CA秘密鍵 /tmp/pki/myCA/private/cakey.pem

 myCA/index.txt.attr
 myCA/private/cakey.pem
 myCA/newcerts/XXX.pem
 myCA/certs
 myCA/careq.pem
 myCA/crl
 myCA/cacert.pem
 myCA/index.txt
 myCA/index.txt.old
 myCA/serial

** CA証明書の内容確認 [#pd1397b9]
 openssl x509 -in ./myCA/cacert.pem -text

** CA秘密鍵の内容確認 [#jcd4d0f4]
 openssl rsa -in ./myCA/private/cakey.pem -text

** CA証明書をPEM形式からDER形式(IE等ブラウザ用)に変換 [#j50ae98e]
 openssl x509 -in cacert.pem -outform der -out cacert.der

** 参考 [#n02396f8]
*** CAコマンド [#rbec2e7a]
- http://fc-lab.com/network/server/pki/openssl.html
- http://tenj.jp/modules/smartsection/item.php?itemid=139
*** opensslコマンド [#f82d0a54]
- http://ash.jp/sec/openssl.htm


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