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
This ansible role allows generating a self-signed certificates.
ansible-galaxy install pogosoftware.self_signed_cert