pixelart.nssdb
Ansible 角色:NSS 共享数据库
在 Ubuntu 或 Debian 上将 CA 证书安装到 NSS 共享数据库中,就像 Google Chrome 使用的那样。
需求
- CA 证书应已安装在目标主机上。您可以使用
bdellegrazie.ca-certificates
来实现,因为您仍然需要它用于 curl 和 PHP。
角色变量
可用的变量列在下面,并附有默认值(见 defaults/main.yml
):
certutils_package_state: installed
默认情况下,它设置为“installed”。如果您想要升级或切换到其他仓库,可以将此变量覆盖为“latest”。
nssdb_users: []
添加要管理证书的用户名列表,除了系统范围的 /etc/pki/nssdb
。例如,Google Chrome 只打开用户的 nssdb,这是必要的 :sob:
nssdb_certificates: []
添加要安装到 /etc/pki/nssdb
的证书列表,包括 name
、path
和 trust
信任属性(有关 -t trustargs
参数的帮助,请参见 certutil -H -A
),例如:CT,c,c
以信任网站(如 Chrome 所需),或 CT,C,C
以信任网站、S/MIME(邮件)证书和代码签名。
将证书名称组织为 证书通用名称 - 证书组织
,以便 Chrome 可以整齐地显示。
nssdb_certificates:
# 安装 CAcert CA 并信任网站、S/MIME 和代码签名。
- name: CA Cert Signing Authority - Root CA
path: /usr/local/share/ca-certificates/cacert.crt
trust: CT,C,C
# 安装企业 CA 并仅信任网站
- name: Acme CA - Acme Corp
path: /usr/local/share/ca-certificates/acme.crt
trust: CT,c,c
依赖关系
没有,但您可以使用 bdellegrazie.ca-certificates
将证书传输到目标主机并为 curl、php 等安装证书。
示例剧本
- hosts: phpdevs
pre_tasks:
- name: 下载 CA Cert Signing Authority
uri:
url: 'http://www.cacert.org/certs/root.crt'
return_content: true
register: cacert_pem
vars_files:
- vars/main.yml
roles:
- bdellegrazie.ca-certificates
- pixelart.nssdb
在 vars/main.yml
中:
ca_certificates_trusted:
- { pem: "{{ cacert_pem.content }}", name: cacert }
- { pem: "{{ lookup('file', 'files/ssl/acme-ca.pem') }}", name: acme }
nssdb_users: ['username']
nssdb_certificates:
- name: CA Cert Signing Authority - Root CA
path: '{{ ca_certificates_local_dir }}/cacert.crt'
trust: CT,C,C
- name: Acme CA - Acme Corp
path: /usr/local/share/ca-certificates/acme.crt
trust: CT,c,c
在剧本运行后,证书将安装到系统范围和用户的 nssdb 中,并且还将连接到 ca-certficates.crt
供 curl、php 等使用。
行为守则
请注意,此项目遵循 贡献者行为守则。参与此项目即表示您同意遵守相关条款。
许可
MIT,见 LICENSE 文件。
作者信息
此角色由 pixelart GmbH 于 2017 年创建。
安装
ansible-galaxy install pixelart.nssdb
许可证
Unknown
下载
5.7k
拥有者
pixelart is a digital agency based in Salzburg that has won awards throughout Europe. We employ 60 specialists to provide a full range of digital services.