OpenSSLのCAコマンドを使ったCA構築

CA構築の準備

 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の設定

CATOPの設定

 vi openssl.cnf
 [ CA_default ] 
 
 dir = /tmp/pki/myCA
  • 今回は作業を/tmp/pkiで行い、CAを/tmp/pki/myCAに作成する。
  • OS標準では/etc/pkiがルートで、CAは/etc/pki/CAに作成される。

その他の設定

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

CA証明書・秘密鍵の作成

CADAYSの設定

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

認証局のコモンネーム他DN情報の確認

 countryName               = JP
 stateOrProvinceName       = Tokyo
 organizationName          = My Company Co.,Ltd.
 commonName                = My CA
 emailAddress              = foo@example.com
  • 認証局のDN情報をあらかじめ決めておく。
  • 他にパスフレーズも決めておく。

CA作成スクリプトの実行

 SSLEAY_CONFIG="-config ./openssl.cnf" CATOP=/tmp/pki/myCA ./CA -newca

CA作成スクリプトによって作成されたファイル

  • 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証明書の内容確認

 openssl x509 -in ./myCA/cacert.pem -text

CA秘密鍵の内容確認

 openssl rsa -in ./myCA/private/cakey.pem -text

CA証明書をPEM形式からDER形式(IE等ブラウザ用)に変換

 openssl x509 -in cacert.pem -outform der -out cacert.der

参考

CAコマンド

opensslコマンド


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