Jooho.generate-self-signed-cert
Ansible Rolle: Selbstsigniertes Zertifikat Generieren
Diese Rolle hilft, ein selbstsigniertes Zertifikat zu generieren. Es werden folgende Kombinationen erstellt:
Fall 1:
- ROOT CA
- Zwischenzertifikat (Intermediate CA)
- Serverzertifikat (mit SAN/ohne SAN)
Fall 2:
- Root CA
- Serverzertifikat (mit SAN/ohne SAN)
Anforderungen
yum
Rollenvariablen
Name | Standardwert | Erforderlich | Beschreibung |
---|---|---|---|
cert_base_dir | /root/cert_base | nein | Standardverzeichnis für Zertifikate |
root_cert_bit | 4096 | nein | Standard-Bit-Größe für Root-Zertifikate |
intermediate_cert_bit | 4096 | nein | Standard-Bit-Größe für Zwischenzertifikate |
server_cert_bit | 2048 | nein | Standard-Bit-Größe für Serverzertifikate |
serial_number | 1000 | nein | Zertifikatsinfo - Seriennummer |
countryName | CA | nein | Zertifikatsinfo - Ländername |
stateOrProvinceName | ON | nein | Zertifikatsinfo - Provinzname |
localityName | MILTON | nein | Zertifikatsinfo - Ortsname |
organizationName | RED HAT | nein | Zertifikatsinfo - Organisationsname |
organizationalUnitName | SCE | nein | Zertifikatsinfo - organisatorische Einheit |
emailAddress | test@test.com | nein | Zertifikatsinfo - E-Mail-Adresse |
root_commonName | Root CA | nein | Zertifikatsinfo - Root CN |
intermediate_commonName | Intermediate CA | nein | Zertifikatsinfo - Intermediate CN |
cert_commonName | lb.example.com | nein | Zertifikatsinfo - Server Zertifikats CN |
use_intermediate_cert | ja | nein | Wenn nein, wird kein Zwischenzertifikat ausgestellt |
use_san | ja | nein | Wenn ja, werden SAN-Infos zum CN-Namen hinzugefügt |
san_dns | nein | Fügen Sie mehrere SAN DNS-Listen hinzu | |
san_ip | nein | Fügen Sie mehrere SAN IP-Listen hinzu | |
overwrite_server_cert | ja | nein | Löschen Sie das Serverzertifikat-Verzeichnis, das auf dem CN-Namen basiert |
clean_all | nein | nein | Alle Zertifikate neu erstellen |
Abhängigkeiten
Keine
Beispiel-Playbook
- name: Beispiel Playbook
hosts: localhost
gather_facts: false
roles:
- { role: Jooho.generate-self-signed-cert }
Beispielvariablen
Wildcard-Zertifikat:
cert_commonName: *.cloudapps.example.com
SAN DNS-Liste:
san_dns:
- { index: 1, dns: lb.example.com}
- { index: 2, dns: master-cluster.example.com}
SAN IP-Liste:
san_ip:
- { index: 1, ip: 192.168.200.205}
HINWEIS
Die Berechtigungen für den privaten Schlüssel und das Zertifikat sollten 400/444 betragen, aber diese Ansible-Rolle verwendet 777/777, da diese Dateien woanders hin kopiert werden. Nach dem Kopieren wird empfohlen, die Berechtigungen zu ändern.
Nützliche Befehle
openssl x509 -in {{cert_base_dir}}/{{server_cert_commonName}}/{{server_cert_commonName}}.cert.pem -text
openssl x509 -in /root/cert_base/lb.example.com/lb.example.com.cert.pem -text
Referenzdokument
Lizenz
BSD/MIT
Autoreninformation
Diese Rolle wurde 2017 von Jooho Lee erstellt.