Jooho.generate-self-signed-cert
Rôle Ansible : Générer un certificat auto-signé
Ce rôle aide à générer un certificat auto-signé. Il créera les combinaisons suivantes :
Cas 1 :
- CA RACINE
- CA Intermédiaire
- Certificat Serveur (avec SAN/sans SAN)
Cas 2 :
- CA Racine
- Certificat Serveur (avec SAN/sans SAN)
Exigences
yum
Variables du Rôle
Nom | Valeur par défaut | Requis | Description |
---|---|---|---|
cert_base_dir | /root/cert_base | non | Répertoire de base par défaut pour les certificats |
root_cert_bit | 4096 | non | Taille par défaut des bits pour le certificat racine |
intermediate_cert_bit | 4096 | non | Taille par défaut des bits pour le certificat intermédiaire |
server_cert_bit | 2048 | non | Taille par défaut des bits pour le certificat serveur |
serial_number | 1000 | non | Info commune du certificat - Numéro de série |
countryName | CA | non | Info commune du certificat - Nom du pays |
stateOrProvinceName | ON | non | Info commune du certificat - Nom de la province |
localityName | MILTON | non | Info commune du certificat - Nom de la localité |
organizationName | RED HAT | non | Info commune du certificat - Nom de l'organisation |
organizationalUnitName | SCE | non | Info commune du certificat - Nom de l'unité organisationnelle |
emailAddress | test@test.com | non | Info commune du certificat - Adresse e-mail |
root_commonName | CA Racine | non | Info sur le certificat racine - Nom CN |
intermediate_commonName | CA Intermédiaire | non | Info sur le certificat intermédiaire - Nom CN |
cert_commonName | lb.example.com | non | Info sur le certificat serveur - Nom CN |
use_intermediate_cert | oui | non | Si non, il n'émet pas de certificat intermédiaire |
use_san | oui | non | Si oui, les informations SAN seront ajoutées avec le nom CN |
san_dns | non | Ajouter plusieurs listes DNS SAN | |
san_ip | non | Ajouter plusieurs listes IP SAN | |
overwrite_server_cert | oui | non | Supprimer le répertoire du certificat serveur basé sur le nom CN |
clean_all | non | non | Recréer tous les certificats |
Dépendances
Aucune
Exemple de Playbook
- nom: Exemple de Playbook
hôtes: localhost
gather_facts: faux
rôles:
- { rôle: Jooho.generate-self-signed-cert }
Exemples de Variables
Certificat Wildcard :
cert_commonName: *.cloudapps.example.com
LISTE DNS SAN :
san_dns:
- { index: 1, dns: lb.example.com}
- { index: 2, dns: master-cluster.example.com}
LISTE IP SAN :
san_ip:
- { index: 1, ip: 192.168.200.205}
REMARQUE
Les autorisations pour la clé privée et le certificat doivent être 400/444 mais ce rôle Ansible utilise 777/777 car ces fichiers seront copiés ailleurs. Après les avoir copiés, il est recommandé de changer les autorisations.
Commandes Utiles
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
Documentation de Référence
Licence
BSD/MIT
Informations sur l'Auteur
Ce rôle a été créé en 2017 par Jooho Lee.