SSL/TLSのサーバ証明書、および関連ファイルを作成するツールです。
Dockerコンテナで作成プロセスが動き、以下のファイルを生成します。
- サーバ証明書
- 自己証明書、または自作CA局を利用して発行したもの
- CA局を利用するかどうかは環境変数
USE_CA
で指定可能(デフォルトfalse
)
- CA局を利用するかどうかは環境変数
- 出力ファイル名は
server.pem
- 自己証明書、または自作CA局を利用して発行したもの
- 証明書署名要求(CSR)
- サーバ証明書発行時に利用
- 出力ファイル名は
server.csr
- 秘密鍵
- サーバ証明書、およびCSR作成時に利用
- 出力ファイル名は
privatekey.pem
- 秘密鍵のパスワード
pswd
という名前のファイルにパスワードを保存
- 動作確認OSはLinuxのみ
- Dockerがインストールされている必要があります
docker build --force-rm=true -t create-cert .
証明書作成で設定するパラメータは環境変数で指定します。指定する環境変数が多いため、
予めファイルに環境変数と値を記載してコンテナ起動時に引数で渡すことをお勧めします。
サンプルファイルは .env.sample
という名前で格納しており、以下の手順でコピーして環境変数ファイルの作成が可能です。
cp .env.sample .env
vi .env
(.envを編集)
※環境変数を指定しない場合は ansible/inventory.yaml
に記載された値が設定されます。
mkdir /path/to/output
以下のコマンドでDockerコンテナを起動し証明書を作成します
docker run --rm \
-v /path/to/output:/volume \
--env-file .env \
create-cert
$ ls /path/to/output/ssl/
privatekey.pem pswd server.csr server.pem
openssl
でサーバ証明書の中身を確認する例
openssl x509 -text -noout -in /path/to/output/ssl/server.pem
"create-cert" is under GPL license.