pogosoftware.self_signed_cert
Certificat Auto-Signé
Ce rôle Ansible permet de générer des certificats auto-signés. En conséquence, il générera 3 certificats au format PEM avec les clés : ca, client et serveur. De plus, il générera également 2 certificats au format PFX pour le client et le serveur.
Variables Générales
Répertoire des certificats
self_signed_cert_dir: /etc/certs/
C'est le répertoire où les certificats seront sauvegardés.
URL de téléchargement de cfssl et 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
Vous pouvez spécifier quelle version de cfssl et cfssl_tool vous souhaitez télécharger.
Profils
self_signed_cert_profiles:
- name: serveur
expirité: 8760h
usages:
- signature
- chiffrement de clé
- authentification serveur
- authentification client
cfssl supporte plusieurs profils. Chaque profil a un nom unique. La date d'expiration détermine quand le certificat généré avec ce profil expirera. Les usages déterminent le but du certificat. Les valeurs autorisées sont :
- Usages de Clé : signature, signature numérique, engagement de contenu, chiffrement de clé, accord de clé, chiffrement de données, signature de certificat, signature de crl, seul chiffrement, seul déchiffrement.
- Usages de Clé Étendus : tout, authentification serveur, authentification client, signature de code, protection par e-mail, s/mime, système de bout ipsec, tunnel ipsec, utilisateur ipsec, timestamping, signature ocsp, sgc microsoft, sgc netscape.
Autorité de Certification
self_signed_cert_ca_certs:
- name: exemple-ca
cn: example.com
key_algo: rsa
key_size: 2048
country: EU
location: Internet
organisation: Exemple
organisation_unit: IT
state: internet
trust_ca_cert: false
L'algorithme de clé de l'autorité de certification key_algo
peut avoir l'une des valeurs suivantes : ECDSA256, RSA. trust_ca_cert
injectera le certificat CA dans les certificats racines de confiance.
Certificats
self_signed_cert_certs:
- name: serveur
profile: serveur
ca_name: exemple-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: Exemple
organisation_unit: IT
state: internet
Exemple de 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: serveur
expirité: 8760h
usages:
- signature
- chiffrement de clé
- authentification serveur
- authentification client
- name: client
expirité: 8760h
usages:
- signature
- chiffrement de clé
- authentification client
self_signed_cert_ca_certs:
- name: exemple-ca
cn: example.com
key_algo: rsa
key_size: 2048
country: EU
location: Internet
organisation: Exemple
organisation_unit: IT
state: internet
trust_ca_cert: false
self_signed_cert_certs:
- name: serveur
profile: serveur
ca_name: exemple-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: Exemple
organisation_unit: IT
state: internet
- name: client
profile: client
ca_name: exemple-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: Exemple
organisation_unit: IT
state: internet
This ansible role allows generating a self-signed certificates.
ansible-galaxy install pogosoftware.self_signed_cert