pixelart.nssdb
Ansible Rolle: NSS Gemeinsame DB
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.
ansible-galaxy install pixelart.nssdb