独自CA(認証機関)を立ち上げる
CA立ち上げ手順
同一ホストで全ての作業を行う場合、立場の違い、または証明書用途の違いによって、この設定ファイルを変更しながら作業を行わなくてはならないことに注意
して下さい。又はそれぞれの設定ファイルをあらかじめ作成し、opensslのオプションで、それぞれに合わせた設定ファイルを指定するようにします。
/var/ssl/openssl.cnf
openssl.cnf の内容を以下のように修正しておきます。
[ CA_default ]
修正前
dir = ./demoCA # Where everything is kept
修正後
dir = /var/ssl/CA # Where everything is kept
構築できるCAは一つとは限りません。この箇所の異るopenssl.cnfを使い分けることで、同一ホストで複数のCA局を構築可能ですが、管理がやや こしくなるかならないかはそれぞれの事情で異なります。一つのCAで多くの証明書を管理するか、扱う内容にわけて、CAを複数立ち上げて個別に管理するか になると思います。
CA構築
CA局となるディレクトリを構築します。
# cd /var/ssl
# mkdir CA
# cd CA
# mkdir certs crl newcerts private
# chmod og-rwx private
# echo "01" > serial
# touch index.txt
これらの操作を行い CA局となるディレクトリを構築するか、またはこれらを自動で行うCA.pl,CA.shを使います。TurboLinux 6の場合、パスが通っていないのでそのままでは使えません。TurboLinuxでは/var/ssl/CAが既に用意されていたと思います。そのままCA局として利用しても構いません。
CAのカレントディレクトリ /var/ssl/CA で
# cd /var/ssl/CA
# openssl req -new -x509 -keyout private/cakey.pem -out cacert.pem -days 7000
Using configuration from /etc/ssl/openssl.cnf
Generating a 1024 bit RSA private key
............................++++++
.....++++++
writing new private key to 'private/cakey.pem'
Enter PEM pass phrase:********
Verifying password - Enter PEM pass phrase:********
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Aichi
Locality Name (eg, city) []:Nagoya
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Creative.Unit.ZERO
Organizational Unit Name (eg, section) []:Design
Common Name (eg, YOUR name) []:mydomain.net
Email Address []:info@mydomain.net
Common Name (eg, YOUR name)
ここには必ずホスト名をいれるようにします。
これらの作業で/var/ssl/CA に以下のファイルが生成されます。
./cacert.pem
./private/cakey.pem
これでCA局は完成です。ここで特に注意することはパスフレーズを忘れないことです。
後述する署名作業の際、このCAのパスフレーズが常に要求されることになるので忘れないで下さい。
今後、証明書を作成する度に、このような受け答えの必要が頻繁にあるので、openssl.cnf であらかじめ所在地などの共通する項目を変更しておくと便利です。また、目的別のopenssl.cnfを別名で作成しておき、証明書作成時にcnfファ イルを指定すると便利です。