pixelart.nssdb

Ansible Rolle: NSS Gemeinsame DB

Build-Status

Installiert CA-Zertifikate in die NSS Gemeinsame DB auf Ubuntu oder Debian, so wie es Google Chrome verwendet.

Voraussetzungen

  • Das CA-Zertifikat sollte bereits auf dem Ziel-Host installiert sein. Du kannst bdellegrazie.ca-certificates dafür verwenden, da du das auch für curl und PHP benötigst.

Rollenvariablen

Verfügbare Variablen sind unten aufgelistet, zusammen mit den Standardwerten (siehe defaults/main.yml):

certutils_package_state: installiert

Standardmäßig ist dies auf 'installiert' gesetzt. Du kannst diese Variable auf 'neueste' überschreiben, wenn du upgraden oder zu einem anderen Repository gewechselt hast.

nssdb_users: []

Füge eine Liste von Benutzernamen hinzu, für die die Zertifikate ebenfalls verwaltet werden sollen, neben dem systemweiten /etc/pki/nssdb. Dies ist notwendig, z.B. für Google Chrome, das nur die Benutzerdatenbank öffnet :sob:

nssdb_certificates: []

Füge eine Liste von Zertifikaten hinzu, die in /etc/pki/nssdb installiert werden sollen, mit den Attributen name, path und trust (Siehe certutil -H -A für Hilfe beim Parameter -t trustargs), z.B. CT,c,c für Vertrauen auf signierende Webseiten (wie Chrome es benötigt), oder CT,C,C für Vertrauen auf signierende Webseiten, S/MIME (Mail-)Zertifikate und Code Signing.

Organisiere deinen Zertifikatsnamen als cert gemeinsamer Name - zertifizierende Organisation, damit Chrome es ordentlich anzeigen kann.

nssdb_certificates:
  # Installiere CAcert CA und vertraue auf Webseiten, S/MIME und Code Signing.
  - name: CA Zertifikat Zertifizierungsstelle - Root CA
    path: /usr/local/share/ca-certificates/cacert.crt
    trust: CT,C,C
  # Installiere Unternehmens-CA und vertraue nur auf Webseiten
  - name: Acme CA - Acme Corp
    path: /usr/local/share/ca-certificates/acme.crt
    trust: CT,c,c

Abhängigkeiten

Keine, aber du kannst bdellegrazie.ca-certificates verwenden, um die Zertifikate auf den Zielhost zu übertragen und sie auch für curl, PHP usw. zu installieren.

Beispiel-Playbook

- hosts: phpdevs

  pre_tasks:
    - name: CA Zertifikat Zertifizierungsstelle herunterladen
      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
    

Innerhalb von vars/main.yml:

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

nssdb_users: ['benutzername']
nssdb_certificates:
  - name: CA Zertifikat Zertifizierungsstelle - 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

Nachdem das Playbook ausgeführt wurde, werden die Zertifikate in der systemweiten und der Benutzerdatenbank installiert und zudem in die ca-certificates.crt für curl, PHP usw. zusammengefügt.

Verhaltenskodex

Bitte beachte, dass dieses Projekt mit einem Verhaltenskodex für Mitwirkende veröffentlicht wird. Durch die Teilnahme an diesem Projekt stimmst du zu, dessen Bedingungen einzuhalten.

Lizenz

MIT, siehe die LICENSE Datei.

Autorinformationen

Diese Rolle wurde 2017 von pixelart GmbH erstellt.

Über das Projekt

Install certificates into NSS Shared DB

Installieren
ansible-galaxy install pixelart.nssdb
GitHub Repository
Lizenz
Unknown
Downloads
5.7k
Besitzer
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.