CA構築(1) ー 認証局の作成
なんか以前blogに同じネタを書いたけど,移行前のエントリなのでサイト内の検索に引っかからない。折角だから,というわけで書き直す。
1. OpenSSLのインストール
自宅サーバのMac OS Xには標準でOpenSSLが入っているが,最新版をソースからコンパイルした。手順は次の通りで至って普通。
> tar zxvf openssl-0.9.8e.tar.gz
> cd openssl-0.9.8e
> ./config
> make
> make test
> sudo make install
2. 設定ファイルの編集
opensslとCA.shを次のように編集する。
(1)/usr/local/ssl/openssl.cnf
dir = ./CA ... ディレクトリ構成の変更[ policy_match ] ... CAのDNを変えるために設定変更(都道府県や市町村のエントリを使用しない)
stateOrProvinceName = optional[ req ] ... 気が向いたので鍵長を増やしてみた
defalt_bits = 2048[ req_distinguished_name ] ... 構築するCAのDNに併せて値を変更
contryName_defaut = jp
stateOfProvinceName_default =
O.organizationName_default = Shiden[ usr_cert ]
basicConstraints=CA:TRUE ... CA証明書のために一時的に設定変更
# nsComment = "OpenSSL Generated Certificate" ... 要らん内容なのでコメントアウト
(2) /usr/local/ssl/misc/CA.sh
CADAYS="-starttime 070331150000Z -endtime 170731145959Z"
... CAの有効期限を明示的に定義(これでハマった……)
CATOP=./CA
3. CAを作る
mkdir /var/certCA.shのスクリプト中で,CA秘密鍵パスワードとCAのDNを聞かれるので適時入力。終了後に,/var/cert/CA に認証局が出来る。
cd /var/cert
cp /usr/local/ssl/misc/CA.sh .
./CA.sh -newca
4. CA証明書の出力 (おまけ)
PEM形式の証明書が/var/cert/CA/cacert.pemにあるので配布用にDER形式にしてどこかにおく。
openssl x509 -in CA/cacert.pem -out ShidenCA.cer -outform DER
5. 設定ファイルの再編集
今のままだとCA用の証明書を出すので,設定を変えてエンドエンティティ用に変える。
(1)/usr/local/ssl/openssl.cnf
[ usr_cert ] ... エンドエンティティ用証明書に戻す
basicConstraints=CA:FALSE
とりあえずこれで使える(?)証明書が出るはず。いじょ。

出来たCA証明書

コメントする