Spec-Zone.ru › Ansible

Модуль community.crypto.acme_challenge_cert_helper – подготовка сертификатов, необходимых для проверок ACME, таких как tls-alpn-01

Примечание

Этот модуль входит в коллекцию community.crypto (версия 3.2.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.crypto. Для работы с этим модулем требуются дополнительные зависимости; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.crypto.acme_challenge_cert_helper.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Подготавливает сертификаты для проверок ACME, таких как tls-alpn-01.
  • Исходные данные предоставляет модуль community.crypto.acme_certificate; их необходимо преобразовать в сертификат, который будет использоваться для проверки. Этот модуль позволяет легко создать необходимые сертификаты.

Требования

На узле, выполняющем этот модуль, должны быть установлены следующие компоненты.

  • cryptography >= 3.3

Параметры

Параметр

Комментарии

challenge

string / обязательный

Тип проверки.

Варианты:

  • "tls-alpn-01"

challenge_data

dictionary / обязательный

Запись challenge_data для проверки, предоставленная модулем community.crypto.acme_certificate.

private_key_content

string

Содержимое закрытого ключа, используемого для сертификата этой проверки.

Взаимоисключающий параметр с private_key_src.

private_key_passphrase

string

добавлено в community.crypto 1.6.0

Парольная фраза для расшифровки закрытого ключа.

private_key_src

path

Путь к файлу с закрытым ключом, используемым для сертификата этой проверки.

Взаимоисключающий параметр с private_key_content.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: отсутствует

Это действие не изменяет состояние.

Может работать в режиме check_mode и возвращать прогноз изменения состояния, не изменяя целевой объект.

diff_mode

Поддержка: неприменимо

Это действие не изменяет состояние.

В режиме diff возвращает сведения об изменениях (или о возможных изменениях в check_mode).

idempotent

Поддержка: отсутствует

Возвращаемые сертификаты всегда различаются, поскольку временные метки Not Before и Not After зависят от времени вызова модуля.

При повторном запуске с теми же аргументами вне режима проверки модуль сообщает об отсутствии изменений.

Предполагается, что система, которой управляет модуль или к которой он обращается, не изменилась существенным образом.

См. также

См. также

Среда автоматического управления сертификатами (ACME)

Спецификация протокола ACME (RFC 8555).

Расширение ACME TLS ALPN Challenge

Спецификация проверки tls-alpn-01 (RFC 8737).

Примеры

---
- name: Create challenges for a given CRT for sample.com
  community.crypto.acme_certificate:
    account_key_src: /etc/pki/cert/private/account.key
    challenge: tls-alpn-01
    csr: /etc/pki/cert/csr/sample.com.csr
    dest: /etc/httpd/ssl/sample.com.crt
    modify_account: false
  register: sample_com_challenge

- name: Create certificates for challenges
  community.crypto.acme_challenge_cert_helper:
    challenge: tls-alpn-01
    challenge_data: "{{ item.value['tls-alpn-01'] }}"
    private_key_src: /etc/pki/cert/key/sample.com.key
  loop: "{{ sample_com_challenge.challenge_data | dictsort }}"
  register: sample_com_challenge_certs

- name: Install challenge certificates
  # We need to set up HTTPS such that for the domain,
  # regular_certificate is delivered for regular connections,
  # except if ALPN selects the "acme-tls/1"; then, the
  # challenge_certificate must be delivered.
  # This can for example be achieved with very new versions
  # of NGINX; search for ssl_preread and
  # ssl_preread_alpn_protocols for information on how to
  # route by ALPN protocol.
  ...:
    domain: "{{ item.domain }}"
    challenge_certificate: "{{ item.challenge_certificate }}"
    regular_certificate: "{{ item.regular_certificate }}"
    private_key: /etc/pki/cert/key/sample.com.key
  loop: "{{ sample_com_challenge_certs.results }}"

- name: Create certificate for a given CSR for sample.com
  community.crypto.acme_certificate:
    account_key_src: /etc/pki/cert/private/account.key
    challenge: tls-alpn-01
    csr: /etc/pki/cert/csr/sample.com.csr
    dest: /etc/httpd/ssl/sample.com.crt
    data: "{{ sample_com_challenge }}"
    modify_account: false

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

challenge_certificate

string

Сертификат для проверки в формате PEM.

Возвращается: всегда

domain

string

Домен, для которого выполняется проверка. Сертификат необходимо предоставить, если это указано в заголовке Host запроса.

Возвращается: всегда

identifier

string

Идентификатор соответствующего ресурса. Будет доменным именем, если identifier_type=dns, или IP-адресом, если identifier_type=ip.

Возвращается: всегда

identifier_type

string

Тип идентификатора соответствующего ресурса.

Возвращается: всегда

Возможные значения:

  • "dns"
  • "ip"

regular_certificate

string

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

Если действующего сертификата нет, его можно использовать для первоначальной настройки HTTPS, если она необходима для прохождения проверки.

Возвращается: всегда

Авторы

  • Felix Fontein (@felixfontein)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос (crypto)
  • Задать вопрос (ACME)
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/crypto/acme_challenge_cert_helper_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API