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 的证书列表,包括 namepathtrust 信任属性(有关 -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 年创建。

关于项目

Install certificates into NSS Shared DB

安装
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.