2.2. ルート認証局証明書を作る

CA.pl -newcert 
(openssl req -config /etc/openssl.cnf -new -x509 -keyout newreq.pem \
-out newreq.pem -days 365) 

自己署名証明書を作りましょう(認証局のためです)。 結果のファイルは newreq.pem です。 Common Name (CN) には “ACME root Certificate” のようなものを用います。 このファイルは cacert.pem と private/cakey.pem の二つのファイルに分割する必要があります。 -RSA PRIVATE KEY- の部分は pribate/cakey.pem の方に入り、 -CERTIFICATE- の部分は cacert.pem の中に入ります。 作業が終わったら、newreq.pem を削除しましょう。

さて、index.txt ファイルが空であること、 そのファイルシリアルが 01 を含むことを確認しましょう。

ルート証明書とこのルートによって署名された全ての証明書は ルート証明書が失効した時に変更しなければなりませんから、 有効期間を延ばしたいと思うかも知れません。 認証を専門にする会社のルート証明書の標準的な有効期間は、 5 年から 10 年くらいだと思います。

openssl req -config /etc/openssl.cnf -new -x509 -keyout private/cakey.pem \
-out cacert.pem -days 3650

この最後のコマンドはファイルを要求された場所におき、 10 年間有効なルート CA を作成しますから、 “CA.pl -newcert” より良いでしょう。

この自己署名ルート証明書は、 他の証明書を署名するためだけに用いられることを肝に銘じて下さい。 秘密鍵は極めて注意深く扱わねばなりません。 それを守っているパスフレーズを削除して、 けっしてこれを漏らしてはいけません。 秘密鍵をフロッピーディスクにおいて、 他の証明書に署名するときにのみ、ロードする人もいるでしょう。 このようにフロッピーに保存しておけば、 もしコンピュータがハックされたときにも、 ハッカーが秘密鍵を手に入れることは物理的に不可能になります。

これで、ルート認証局を持つことができました。 他の人々にはこの自己署名ルート CA 証明書を信用してもらって、 これをダウンロードし、ブラウザに登録してもらう必要があります。

この証明書で他の証明書に署名したいときにはその都度、パスフレーズをタイプ しなければなりません。