Jooho.generate-self-signed-cert
Ansibleロール:自己署名証明書の生成
このロールは自己署名証明書を生成するのを手助けします。以下の組み合わせを作成します。
ケース 1:
- ルートCA
- 中間CA
- サーバー証明書(SANあり/SANなし)
ケース 2:
- ルートCA
- サーバー証明書(SANあり/SANなし)
要件
yum
ロール変数
名前 | デフォルト値 | 必須 | 説明 |
---|---|---|---|
cert_base_dir | /root/cert_base | いいえ | デフォルトの証明書のベースディレクトリ |
root_cert_bit | 4096 | いいえ | デフォルトのルート証明書のビットサイズ |
intermediate_cert_bit | 4096 | いいえ | デフォルトの中間証明書のビットサイズ |
server_cert_bit | 2048 | いいえ | デフォルトのサーバー証明書のビットサイズ |
serial_number | 1000 | いいえ | 証明書共通情報 - シリアル番号 |
countryName | CA | いいえ | 証明書共通情報 - 国名 |
stateOrProvinceName | ON | いいえ | 証明書共通情報 - 州名 |
localityName | MILTON | いいえ | 証明書共通情報 - 地域名 |
organizationName | RED HAT | いいえ | 証明書共通情報 - 組織名 |
organizationalUnitName | SCE | いいえ | 証明書共通情報 - 組織単位名 |
emailAddress | test@test.com | いいえ | 証明書共通情報 - メールアドレス |
root_commonName | Root CA | いいえ | ルート証明書情報 - ルートCN |
intermediate_commonName | Intermediate CA | いいえ | 中間証明書情報 - 中間CN |
cert_commonName | lb.example.com | いいえ | サーバー証明書情報 - サーバー証明書CN |
use_intermediate_cert | yes | いいえ | いいえの場合は中間証明書を発行しません |
use_san | yes | いいえ | はいの場合、CN名とともにSAN情報が追加されます |
san_dns | いいえ | 複数のSAN DNSリストを追加します | |
san_ip | いいえ | 複数のSAN IPリストを追加します | |
overwrite_server_cert | yes | いいえ | CN名に基づいてサーバー証明書のディレクトリを削除します |
clean_all | no | いいえ | すべての証明書を再生成します |
依存関係
なし
例プレイブック
- name: 例プレイブック
hosts: localhost
gather_facts: false
roles:
- { role: Jooho.generate-self-signed-cert }
例変数
ワイルドカード証明書:
cert_commonName: *.cloudapps.example.com
SAN DNSリスト:
san_dns:
- { index: 1, dns: lb.example.com}
- { index: 2, dns: master-cluster.example.com}
SAN IPリスト:
san_ip:
- { index: 1, ip: 192.168.200.205}
注意
プライベートキーと証明書のパーミッションは400/444であるべきですが、このAnsibleロールは777/777を使用しています。これらのファイルはどこかにコピーされるためです。 コピーした後、パーミッションを変更することをお勧めします。
便利なコマンド
openssl x509 -in {{cert_base_dir}/{{server_cert_commonName}}/{{server_cert_commonName}.cert.pem -text
openssl x509 -in /root/cert_base/lb.example.com/lb.example.com.cert.pem -text
参考文書
ライセンス
BSD/MIT
著者情報
このロールは2017年にJooho Leeによって作成されました。