pixelart.nssdb

Rôle Ansible : NSS Shared DB

Statut de la construction

Installe des certificats CA dans la base de données partagée NSS sur Ubuntu ou Debian, comme le fait Google Chrome.

Exigences

  • Le certificat CA doit déjà être installé sur l'hôte cible. Vous pouvez utiliser bdellegrazie.ca-certificates pour cela, car vous en avez encore besoin pour curl et PHP.

Variables du rôle

Les variables disponibles sont énumérées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml) :

certutils_package_state: installé

Par défaut, cela est réglé sur 'installé'. Vous pouvez remplacer cette variable par 'latest' si vous souhaitez mettre à niveau ou si vous êtes passé à un autre dépôt.

nssdb_users: []

Ajoutez une liste de noms de comptes utilisateurs pour lesquels les certificats doivent également être gérés, en plus de la base de données système /etc/pki/nssdb. Cela est nécessaire, par exemple pour Google Chrome qui n'ouvre que la base de données nssdb des utilisateurs :sob:

nssdb_certificates: []

Ajoutez une liste de certificats à installer dans /etc/pki/nssdb avec des attributs de name, path et trust (voir certutil -H -A pour l'aide du paramètre -t trustargs), par exemple CT,c,c pour la confiance dans les sites web signés (comme cela est nécessaire pour Chrome), ou CT,C,C pour la confiance dans les sites web signés, les certificats S/MIME (mail) et la signature de code.

Organisez votre nom de certificat sous la forme nom commun du certificat - organisation du certificat afin que Chrome puisse l'afficher correctement.

nssdb_certificates:
  # Installe CAcert CA et fait confiance aux sites web, S/MIME et signature de code.
  - name: CA Cert Signing Authority - Root CA
    path: /usr/local/share/ca-certificates/cacert.crt
    trust: CT,C,C
  # Installe CA d'entreprise et fait confiance uniquement aux sites web
  - name: Acme CA - Acme Corp
    path: /usr/local/share/ca-certificates/acme.crt
    trust: CT,c,c

Dépendances

Aucune, mais vous pouvez utiliser bdellegrazie.ca-certificates pour transférer les certificats sur l'hôte cible et les installer également pour curl, php, etc.

Exemple de Playbook

- hosts: phpdevs

  pre_tasks:
    - name: Télécharger 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
    

À l'intérieur 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: ['nom_utilisateur']
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

Après l'exécution du playbook, les certificats sont installés dans la nssdb systémique et celle des utilisateurs, et sont également concaténés dans le ca-certificates.crt pour curl, php, etc.

Code de conduite

Veuillez noter que ce projet est publié avec un Code de conduite des contributeurs. En participant à ce projet, vous acceptez de respecter ses termes.

Licence

MIT, voir le fichier LICENSE.

Informations sur l'auteur

Ce rôle a été créé en 2017 par pixelart GmbH.

À propos du projet

Install certificates into NSS Shared DB

Installer
ansible-galaxy install pixelart.nssdb
Licence
Unknown
Téléchargements
5.7k
Propriétaire
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.