pixelart.nssdb
Rola Ansible: NSS Shared DB
Instaluje certyfikaty CA do NSS Shared DB na Ubuntu lub Debian, tak jak używa ich Google Chrome.
Wymagania
- Certyfikat CA powinien być już zainstalowany na docelowym hoście. Możesz użyć
bdellegrazie.ca-certificates
, ponieważ nadal jest potrzebny do curl i PHP.
Zmienne Roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml
):
certutils_package_state: installed
Domyślnie ustawione na 'installed'. Możesz przełączyć tę zmienną na 'latest', jeśli chcesz zaktualizować lub zmieniłeś repozytorium.
nssdb_users: []
Dodaj listę nazw kont użytkowników, dla których certyfikaty również będą zarządzane, oprócz systemowego /etc/pki/nssdb
. Jest to potrzebne, np. dla Google Chrome, który otwiera wyłącznie więź użytkowników do nssdb.
nssdb_certificates: []
Dodaj listę certyfikatów do zainstalowania w /etc/pki/nssdb
z atrybutami name
, path
i trust
(zobacz certutil -H -A
, aby uzyskać pomoc w kwestii parametru -t trustargs
), np. CT,c,c
dla zaufania do podpisanych stron internetowych (jak potrzebuje Chrome) lub CT,C,C
, aby zaufać stroną internetowym, certyfikatom S/MIME (mail) i podpisywaniu kodu.
Zorganizuj nazwę certyfikatu jako cert common name - cert organization
, aby Chrome mógł ładnie to wyświetlić.
nssdb_certificates:
# Zainstaluj CAcert CA i zaufaj do stron internetowych, S/MIME i podpisywaniu kodu.
- name: CA Cert Signing Authority - Root CA
path: /usr/local/share/ca-certificates/cacert.crt
trust: CT,C,C
# Zainstaluj korporacyjną CA i zaufaj tylko do stron internetowych
- name: Acme CA - Acme Corp
path: /usr/local/share/ca-certificates/acme.crt
trust: CT,c,c
Zależności
Brak, ale możesz użyć bdellegrazie.ca-certificates
, aby przenieść certyfikaty na docelowy host i zainstalować je dla curl, PHP itd.
Przykładowy Playbook
- hosts: phpdevs
pre_tasks:
- name: Pobierz 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
Wewnątrz 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
Po uruchomieniu playbooka certyfikaty są zainstalowane w nssdb ogólnym i dla użytkowników, a także połączone w ca-certificates.crt
do curl, PHP itd.
Kodeks Postępowania
Należy zauważyć, że ten projekt jest wydany z Kodeksem Postępowania dla Współpracowników. Uczestnicząc w tym projekcie, zgadzasz się przestrzegać jego zasad.
Licencja
MIT, zobacz plik LICENSE.
Informacje o Autorze
Ta rola została stworzona w 2017 roku przez pixelart GmbH.
ansible-galaxy install pixelart.nssdb