内部用認証局(CA)を作ってみた
外部では有効でなくても、内部向けだけにHTTPS通信を行いたいが毎回オレオレ証明書エラーを出したくないとか(エラーを無視して先へ進んでいいというのは教育上良くない!)、PKI認証を展開したいとかの目的で導入することもあると思われる、認証局(CA)をCentOS5で作ってみました。
ほぼこのページの通りでできます。途中の
basicConstraints=CA:FALSE -> basicConstraints=CA:TRUE
の部分は「usr_cert」のセクションだと思われます。認証局の期限を10年のする設定がありますが、これは認証局の期限ですので、証明書の期限(デフォルト1年)を延ばしたければ、openssl.confを書き換えるか、証明書作成の時に「-days 1825」などと付ける必要があります。あと、InternetExplorerにCAをインストールする時は、自動配置ではなく、ルート証明書に配置するように選択しなければなりませんでした。
また、IISのCSRを処理する場合に、CAでOUなど省略した項目があると、IISが項目を全て埋めなければCSRを作成できないためか、マッチしないといったエラー(The stateOrProvinceName field needed to be the same in the
CA certificate (Tokyo) and the request (Tokyo)がでました。
どうやらCA作成に使われるポリシーの設定で厳密なものが選ばれているためのようなのですが、
CAをつくり直すのも面倒だったので、
# openssl ca -policy policy_everything -out 作成した証明書ファイル -infiles CSRファイル
で強引に?作成してみました。内部向けならいいかな。これで自己証明書でもApache,IISともにエラーが出なくなりました。今までは安い証明書を買っていたけど、これで人件費二万くらいは節約になるかな?