pogosoftware.self_signed_cert

Selbstsignierte Zertifikate

Dieses Ansible-Rollskript ermöglicht das Erstellen von selbstsignierten Zertifikaten. Es generiert 3 pem-Zertifikate mit Schlüsseln: ca, client und server. Darüber hinaus werden auch 2 pfx-Zertifikate für client und server erstellt.

Allgemeine Variablen

Zertifikatverzeichnis

self_signed_cert_dir: /etc/certs/

Hier wird das Verzeichnis angegeben, in dem die Zertifikate gespeichert werden.

Download-URLs für cfssl und cfssl_json

self_signed_cert_cfssl_url: https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
self_signed_cert_cfssl_json_url: https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64

Hier können Sie die Version von cfssl und cfssl_tool angeben, die Sie herunterladen möchten.

Profile

self_signed_cert_profiles:
  - name: server
    expirity: 8760h
    usages:
      - signing
      - key encipherment
      - server auth
      - client auth

cfssl unterstützt mehrere Profile. Jedes Profil hat einen eigenen, einzigartigen Namen. Das Ablaufdatum bestimmt, wann das mit diesem Profil generierte Zertifikat abläuft. Die Verwendungszwecke bestimmen den Zweck des Zertifikats. Zulässige Werte sind:

  • Schlüsselverwendungen: signing, digitale Signatur, Inhaltsverpflichtung, Schlüsselverschlüsselung, Schlüsselvereinbarung, Datenverschlüsselung, Zertifikatssignatur, crl-Signatur, nur verschlüsseln, nur entschlüsseln,
  • Erweiterte Schlüsselverwendungen: beliebig, server auth, client auth, Code-Signatur, E-Mail-Schutz, s/mime, ipsec-Endsystem, ipsec-Tunnel, ipsec-Nutzer, Zeitstempel, ocsp-Signatur, microsoft sgc, netscape sgc

Zertifizierungsstelle

self_signed_cert_ca_certs:
  - name: example-ca
    cn: example.com
    key_algo: rsa
    key_size: 2048
    country: EU
    location: Internet
    organisation: Beispiel
    organisation_unit: IT
    state: Internet
    trust_ca_cert: false

Das key_algo der Zertifizierungsstelle kann einen der Werte: ECDSA256, RSA annehmen. trust_ca_cert sorgt dafür, dass das ca-Zertifikat zu den vertrauenswürdigen Stammzertifikaten hinzugefügt wird.

Zertifikate

self_signed_cert_certs:
  - name: server
    profile: server
    ca_name: example-ca
    export_to_pfx: true
    cn: example.com
    hosts:
      - example.com
      - www.example.com
    key_algo: rsa
    key_size: 2048
    country: EU
    location: Internet
    organisation: Beispiel
    organisation_unit: IT
    state: Internet

Beispiel-Playbook

- hosts: localhost
  become: yes
  roles:
    - self-signed-cert
  vars:
    self_signed_cert_cfssl_url: https://github.com/cloudflare/cfssl/releases/download/v1.4.1/cfssl_1.4.1_linux_amd64
    self_signed_cert_cfssl_json_url: https://github.com/cloudflare/cfssl/releases/download/v1.4.1/cfssljson_1.4.1_linux_amd64

    self_signed_cert_dir: /etc/certs/

    self_signed_cert_profiles:
      - name: server
        expirity: 8760h
        usages:
          - signing
          - key encipherment
          - server auth
          - client auth
      - name: client
        expirity: 8760h
        usages:
          - signing
          - key encipherment
          - client auth

    self_signed_cert_ca_certs:
      - name: example-ca
        cn: example.com
        key_algo: rsa
        key_size: 2048
        country: EU
        location: Internet
        organisation: Beispiel
        organisation_unit: IT
        state: Internet
        trust_ca_cert: false

    self_signed_cert_certs:
      - name: server
        profile: server
        ca_name: example-ca
        export_to_pfx: true
        cn: example.com
        hosts:
          - example.com
          - www.example.com
        key_algo: rsa
        key_size: 2048
        country: EU
        location: Internet
        organisation: Beispiel
        organisation_unit: IT
        state: Internet
      - name: client
        profile: client
        ca_name: example-ca
        export_to_pfx: true
        cn: example.com
        hosts:
          - example.com
          - www.example.com
        key_algo: rsa
        key_size: 2048
        country: EU
        location: Internet
        organisation: Beispiel
        organisation_unit: IT
        state: Internet
Über das Projekt

This ansible role allows generating a self-signed certificates.

Installieren
ansible-galaxy install pogosoftware.self_signed_cert
GitHub Repository
Lizenz
mit
Downloads
514
Besitzer