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 | 否 | 如果为是,SAN 信息将与 CN 名称一起添加 |
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
作者信息
此角色由 Jooho Lee 于 2017 年创建。