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.

O projekcie

Install certificates into NSS Shared DB

Zainstaluj
ansible-galaxy install pixelart.nssdb
Licencja
Unknown
Pobrania
5.7k
Właściciel
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.