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によって異なるので、予め探しておく。
  • 今回は作業を/tmp/pki以下で行う。

CATOPの設定

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

CA証明書・秘密鍵の作成

CA作成スクリプトの実行

 SSLEAY_CONFIG="-config ./openssl.cnf" CATOP=./myCA ./CA -newca
  • CA証明書の有効期限を変更にするにはCAコマンドを編集してCADAYS変数の値を修正する。

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

  • CA証明書 /tmp/pki/myCA/cacert.pem
  • CA秘密鍵 /tmp/pki/myCA/private/cakey.pem

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

サーバ証明書の署名要求を作成

 DAYS="-days 3650" ./CA -newreq
  • 以下のファイルが作成される。
    • newkey.pem サーバ秘密鍵
    • newreq.pem サーバ証明書の署名要求

サーバ署名要求(CSR)をCA証明書で署名してサーバ証明書を作成

 SSLEAY_CONFIG="-config ./openssl.cnf" ./CA -sign
  • 上のコマンドを実行すると証明書の詳細が表示されて、署名するか?と問われるのでYESを選ぶ。
  • すると、以下のファイルが作成される。
    • newcert.pem サーバ証明書
    • myCA/newcerts/F1234XXXXXXF1.pem サーバ証明書(newcert.pemと同じもの)
  • さらに、この内容をコミットするか?と問われるのでYESを選ぶ。
  • すると、以下のファイルが更新される。
    • myCA/index.txt データベースファイル
    • myCA/serial シリアルファイル

参考

CAコマンド

opensslコマンド


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