認証局を作成する。 †
専用のワークディレクトリを作成する。 †
設定ファイルを変更する。 †# cp /etc/ssl/openssl.cnf /etc/ssl/ca.localdomain.20xx-xx-xx openssl.cnf を変更する。 ディレクトリ名を変更。 -dir = ./demoCA +dir = ./catop 鍵のビット長を 2048 にする。 [ req ] -default_bits = 1024 +default_bits = 2048 CA 用に以下を追加 ([ v3_ca ] をいじるのが正解か?) [ ca_cert ] basicConstraints=CA:TRUE subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer:always nsCertType = sslCA, emailCA keyUsage = cRLSign, keyCertSign [ req_distinguished_name ] に自分の団体の名前とか住所とかを設定 認証局用スクリプト CA.sh を用意する。 †# cp /usr/src/crypto/openssl/apps/CA.sh /etc/ssl/ca.localdomain.20xx-xx-xx 必要なら CADAYS="-days 1095" を伸ばす。(3年) 現在のディレクトリの設定ファイルを対象にするように変更。 -REQ="$OPENSSL req $SSLEAY_CONFIG" +REQ="$OPENSSL req -config ./openssl.cnf $SSLEAY_CONFIG" -CA="$OPENSSL ca $SSLEAY_CONFIG" +CA="$OPENSSL ca -config ./openssl.cnf $SSLEAY_CONFIG" トップディレクトリの名前を変更。 -CATOP=./demoCA +CATOP=./catop CA 作成時に ca_cert セクションを見るようにする。 $CA -out ${CATOP}/$CACERT $CADAYS -batch \
+ -extensions ca_cert \
-keyfile ${CATOP}/private/$CAKEY -selfsign \
-infiles ${CATOP}/$CAREQ
CA.sh を実行可能とする。 # chmod +x CA.sh 認証局を作成する。(鍵と証明書発行要求の作成、証明書発行要求への自己署名) †# cd /etc/ssl/ca.localdomain.20xx-xx-xx # ./CA.sh -newca CA の鍵が入った private ディレクトリを不可視にしておく。 (CA.sh スクリプトに仕込むべきか?) # chmod 700 catop/private 参考 †スクリプトを読めばわかるが、内容的には、やっていることは以下のとおり。
メモ †
証明書を発行する。 †証明書を失効させる。 †(編集中) |