self_signed_cert

Самоподписанный сертификат

Этот роль Ansible позволяет генерировать самоподписанные сертификаты. В результате будет сгенерировано 3 PEM-сертификата с ключами: CA, клиент и сервер. Кроме того, будет сгенерировано 2 PFX-сертификата для клиента и сервера.

Общие переменные

Директория сертификатов

self_signed_cert_dir: /etc/certs/

Это директория, в которой будут сохранены сертификаты.

URL для загрузки cfssl и 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

Вы можете указать, какую версию cfssl и cfssl_tool вы хотите загрузить.

Профили

self_signed_cert_profiles:
  - name: server
    expirity: 8760h
    usages:
      - signing
      - key encipherment
      - server auth
      - client auth

cfssl поддерживает несколько профилей. Каждый профиль имеет уникальное имя. Дата истечения срока действия определяет, когда сертификат, созданный с помощью этого профиля, истечет. Назначение сертификата определяет его использование. Допустимые значения:

  • Основные назначения: подпись, цифровая подпись, обязательство по содержимому, шифрование ключей, соглашение ключей, шифрование данных, подпись сертификата, подпись CRL, только шифрование, только расшифровка,
  • Дополнительные назначения: любое, аутентификация сервера, аутентификация клиента, подписание кода, защита электронной почты, S/MIME, IPSec конечная система, IPSec туннель, IPSec пользователь, временная метка, подпись OCSP, Microsoft SGC, Netscape SGC

Удостоверяющий центр

self_signed_cert_ca_certs:
  - name: example-ca
    cn: example.com
    key_algo: rsa
    key_size: 2048
    country: EU
    location: Internet
    organisation: Example
    organisation_unit: IT
    state: internet
    trust_ca_cert: false

Алгоритм ключа удостоверяющего центра key_algo может принимать одно из значений: ECDSA256, RSA. trust_ca_cert будет добавлять CA-сертификаты в доверенные корневые сертификаты.

Сертификаты

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: Example
    organisation_unit: IT
    state: internet

Пример 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: Example
        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: Example
        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: Example
        organisation_unit: IT
        state: internet
О проекте

This ansible role allows generating a self-signed certificates.

Установить
ansible-galaxy install pogosoftware/ansible-role-self-signed-cert
Лицензия
mit
Загрузки
504
Владелец