はじめに

Apache の SSL などでは証明書が必要ですが、ベリサインなどの認証局を利用しようとすると相当額が発生してしまいます。
ビジネスで利用する場合は信頼性が第一ですので、そういった場合ではこの自己認証局を構築しない方が良いです。
しかし、個人で利用する場合は通信の暗号化が目的なので、逆に自己認証局を構築した方がコストを抑えられます。

私的シェルスクリプト

以下に私が作成したシェルスクリプトを置いておきます。

CA.sh

設定値について

必ず変更しなければならないのが Organization Name ( O ) です。
規定値では example.com となっているので、各自の環境にあわせて編集してください。

# vi /root/CA.sh
BASE_DIR=/usr/local/etc/ssl
CA_O=example.com
SERVER_O=example.com
CLIENT_O=example.com

シェルスクリプトを root だけ使えるようにする

シェルスクリプトを root だけ使えるようにするため、パーミッションの変更を行います。

# chmod 700 /root/CA.sh
# chown root:wheel /root/CA.sh

自己認証局の構築

以下のコマンドを入力し、何回かパスフレーズの設定と質問に答えれば、自己認証局が構築されます。

# ./CA.sh -newca

サーバ証明書の発行

以下のコマンドを入力すればサーバ証明書が発行されます。

# ./CA.sh -newserver www

クライアント証明書の発行

以下のコマンドを入力すればクライアント証明書が発行されます。

# ./CA.sh -newclient client

参考リンク

自己認証局の構築や、シェルスクリプト作成に当たって、下記のサイトを参考にしました。