pixelart.nssdb

Rol de Ansible: NSS DB Compartida

Estado de la Construcción

Instala certificados CA en la NSS DB Compartida en Ubuntu o Debian, como lo utiliza Google Chrome.

Requisitos

  • El certificado CA ya debe estar instalado en el host de destino. Puedes usar bdellegrazie.ca-certificates para eso, ya que todavía lo necesitas para curl y para PHP.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml):

certutils_package_state: installed

Por defecto, se establece en 'installed'. Puedes reemplazar esta variable por 'latest' si deseas actualizar o si has cambiado a un repositorio diferente.

nssdb_users: []

Agrega una lista de nombres de cuentas de usuario para los que también deben gestionarse los certificados, además del /etc/pki/nssdb de todo el sistema. Esto es necesario, por ejemplo, para Google Chrome, que solo abre la nssdb del usuario. :sob:

nssdb_certificates: []

Agrega una lista de certificados para instalar en /etc/pki/nssdb con atributos de name, path y trust (Consulta certutil -H -A para obtener ayuda sobre el parámetro -t trustargs), por ejemplo, CT,c,c para confianza en sitios web de firma (como lo necesita Chrome), o CT,C,C para confiar en sitios web de firma, certificados S/MIME (correo) y firma de código.

Organiza tu nombre de certificado como nombre común del certificado - organización del certificado para que Chrome lo muestre de forma ordenada.

nssdb_certificates:
  # Instalar la CA de CAcert y confiar en sitios web, S/MIME y firma de código.
  - name: CA Cert Signing Authority - Root CA
    path: /usr/local/share/ca-certificates/cacert.crt
    trust: CT,C,C
  # Instalar CA corporativa y confiar solo en sitios web
  - name: Acme CA - Acme Corp
    path: /usr/local/share/ca-certificates/acme.crt
    trust: CT,c,c

Dependencias

Ninguna, pero puedes usar bdellegrazie.ca-certificates para transferir los certificados al host de destino e instalarlos para curl, php y demás.

Ejemplo de Playbook

- hosts: phpdevs

  pre_tasks:
    - name: Descargar 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
    

Dentro de vars/main.yml:

ca_certificates_trusted:
  - { pem: "{{ cacert_pem.content }}", name: cacert }
  - { pem: "{{ lookup('file', 'files/ssl/acme-ca.pem') }}", name: acme }

nssdb_users: ['nombredeusuario']
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

Después de que se ejecute el playbook, los certificados se instalarán en la nssdb del sistema y de los usuarios, y también se concatenarán en el ca-certificates.crt para curl, php y demás.

Código de Conducta

Ten en cuenta que este proyecto se publica con un Código de Conducta para Contribuidores. Al participar en este proyecto, aceptas cumplir con sus términos.

Licencia

MIT, consulta el archivo LICENSE.

Información del Autor

Este rol fue creado en 2017 por pixelart GmbH.

Acerca del proyecto

Install certificates into NSS Shared DB

Instalar
ansible-galaxy install pixelart.nssdb
Licencia
Unknown
Descargas
5.7k
Propietario
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.