Shammer's Philosophy

My private adversaria

独自のCA環境を構築する - 環境作成編

Mac OS X で、独自のCA環境を構築してみることにした。
Mac OS X には、デフォルトでOpenSSLがインストールされているのでそれを使う。
まず、CA用のファイルを置くディレクトリを決める。
今回は、~/MyOwnRootCAとしておく。Terminalを起動して、以下のコマンドを実行。


 mkdir MyOwnRootCA

そして、これが作成できたらこのディレクトリに移動し、さらに2つのディレクトリを作る。


 mkdir certs
 mkdir private

このcertsは、このCAで発行するすべての証明書を保管するために使用する。
privateには、このCA用の秘密鍵を置いておく。そのため、このprivateには簡単にアクセス
できないように権限を変更しておくのがベスト。しかし、今回はテスト環境なのでそこは適当・・・

次に、証明書の発行に使用するシリアル番号を管理するためのファイルを作る。
同じCAから同一のシリアル番号で2つの証明書を発行しないようにする必要があるが、
そのような事態を防ぐために証明書の発行に使用された最後のシリアル番号を保存しておくファイル。
これは、以下のように作る。


 echo '01' > serial

このシリアル番号はどうやら16進数で管理されるらしい。
そのため、'01'というようにパディングする必要がある。

そして、このCAが発行した証明書をトレースするためのデータベースとして使われるファイルを作る。


 touch index.txt

OpenSSLでは、このファイルがないとNGのようだ。
とりあえず、ディレクトリ構成はこれで十分・・・なはず?