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
À propos du projet

This ansible role allows generating a self-signed certificates.

Installer
ansible-galaxy install pogosoftware.self_signed_cert
Licence
mit
Téléchargements
514
Propriétaire