Spec-Zone.ru › Ansible

Модуль community.crypto.acme_certificate_order_info — получение информации о заказе ACME v2

Примечание

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

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

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

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

Добавлено в community.crypto 2.24.0

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

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

  • Получает информацию о заказе ACME v2. Это можно использовать в процессе получения нового сертификата с помощью протокола ACME от центра сертификации, например Let’s Encrypt. Этот модуль не поддерживает ACME v1 — исходную версию протокола ACME, предшествовавшую стандартизации.
  • Этот модуль необходимо использовать вместе с модулями community.crypto.acme_certificate_order_create, community.crypto.acme_certificate_order_validate и community.crypto.acme_certificate_order_finalize.
  • Модуль поддерживает тип проверки подлинности dns-account-01 согласно черновику acme-dns-account-label 02. Обратите внимание, что поддерживаемая версия черновика может измениться в любой момент, и такие изменения будут считаться обратно несовместимыми только после того, как черновик получит статус RFC.
  • Модуль поддерживает тип проверки подлинности dns-persist-01 согласно черновику acme-dns-persist 01. Обратите внимание, что поддерживаемая версия черновика может измениться в любой момент, и такие изменения будут считаться обратно несовместимыми только после того, как черновик получит статус RFC.

Требования

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

  • либо openssl
  • либо cryptography >= 3.3

Параметры

Параметр

Комментарии

account_key_content

строка

Содержимое ключа RSA или ключа на эллиптической кривой учетной записи ACME.

Для ключей на эллиптических кривых поддерживаются только следующие кривые: secp256r1, secp384r1 и secp521r1.

Несовместим с account_key_src.

Обязателен, если не используется account_key_src.

Предупреждение: содержимое будет записано во временный файл, который Ansible удалит после завершения работы модуля. Поскольку это важный закрытый ключ — его можно использовать для смены ключа учетной записи или отзыва ваших сертификатов, не зная их закрытых ключей, — такой способ может быть неприемлем.

Если используется cryptography, содержимое не записывается во временный файл. Однако Ansible все же может записать его на диск в процессе перемещения модуля с его аргументом на узел, где он выполняется.

account_key_passphrase

строка

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

Парольная фраза для расшифровки ключа учетной записи.

Примечание: это не поддерживается механизмом openssl, только механизмом cryptography.

account_key_src

псевдонимы: account_key

путь

Путь к файлу, содержащему ключ RSA или ключ на эллиптической кривой учетной записи ACME.

Для ключей на эллиптических кривых поддерживаются только следующие кривые: secp256r1, secp384r1 и secp521r1.

Закрытые ключи можно создать с помощью модулей community.crypto.openssl_privatekey или community.crypto.openssl_privatekey_pipe. Если необходимая библиотека (cryptography) недоступна, ключи можно также создать непосредственно с помощью инструмента командной строки openssl: ключи RSA можно создать с помощью openssl genrsa .... Ключи на эллиптических кривых можно создать с помощью openssl ecparam -genkey .... Также можно использовать любые другие инструменты, создающие закрытые ключи в формате PEM.

Несовместим с account_key_content.

Обязателен, если не используется account_key_content.

account_uri

строка

Если задано, предполагается, что URI учетной записи имеет указанное значение. Если ключ учетной записи не соответствует этой учетной записи или учетная запись с таким URI не существует, модуль завершится с ошибкой.

acme_directory

строка / обязательный

Каталог ACME, который следует использовать. Это URL-адрес точки входа для доступа к API сервера центра сертификации ACME.

В целях безопасности по умолчанию используется тестовый сервер Let’s Encrypt (для протокола ACME v1). Он будет создавать технически корректные, но недоверенные сертификаты.

Все тестовые конечные точки Let’s Encrypt перечислены здесь: https://letsencrypt.org/docs/staging-environment/.

Для Let’s Encrypt URL-адрес производственного каталога ACME v2: https://acme-v02.api.letsencrypt.org/directory.

Для ZeroSSL URL-адрес производственного каталога ACME v2: https://acme.zerossl.com/v2/DV90.

Для Sectigo URL-адрес производственного каталога ACME v2: https://acme-qa.secure.trust-provider.com/v2/DV.

Для HARICA URL-адрес производственного каталога ACME v2: https://acme.harica.gr/XXX/directory, где XXX зависит от учетной записи.

В примечаниях к этому модулю приведен список служб ACME, с которыми он прошел проверку.

acme_version

целое число

Версия ACME конечной точки.

Для стандартизированных конечных точек ACME v2 должно быть указано 2.

Значение 1 больше не поддерживается начиная с community.crypto 3.0.0.

Допустимые значения:

  • 2 ← (по умолчанию)

order_uri

строка / обязательный

URI заказа, предоставленный модулем order_uri.

request_timeout

целое число

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

Время ожидания Ansible ответа от API ACME.

Это время ожидания применяется ко всем HTTP(S)-запросам (HEAD, GET, POST).

По умолчанию: 10

select_crypto_backend

строка

Определяет, какой криптографический механизм использовать.

По умолчанию выбрано значение auto: модуль пытается использовать cryptography, если он доступен, и в противном случае использует openssl.

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

Если задано значение cryptography, будет предпринята попытка использовать библиотеку cryptography.

Допустимые значения:

  • "auto" ← (по умолчанию)
  • "cryptography"
  • "openssl"

validate_certs

логическое значение

Следует ли проверять TLS-сертификаты при обращении к каталогу ACME.

Предупреждение: значение false следует задавать только для тестирования, например при проверке на локальном сервере Pebble.

Допустимые значения:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группы действий: community.crypto.acme, acme

Используйте group/acme или group/community.crypto.acme в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

Поддержка: полная

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

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

diff_mode

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

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

В режиме сравнения изменений будут возвращены сведения о том, что изменилось (или, возможно, требует изменения в check_mode).

idempotent

Поддержка: полная

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

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

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

Примечания

Примечание

  • Хотя значения по умолчанию выбраны так, чтобы модуль можно было использовать с центром сертификации Let’s Encrypt, в принципе модуль можно использовать с любым центром сертификации, предоставляющим конечную точку ACME.
  • На данный момент разработчики проверяли модули ACME только с Let’s Encrypt (тестовой и производственной средами), ZeroSSL (производственной средой) и тестовым сервером Pebble. Мы получили отзывы сообщества о том, что модули также работают с Sectigo ACME Service for InCommon и HARICA. Если у вас возникли проблемы с другим сервером ACME, пожалуйста, создайте задачу, чтобы помочь нам обеспечить его поддержку. Мы также будем признательны за отзывы о работе с серверами ACME, которые здесь не упомянуты.
  • Если доступна достаточно новая версия библиотеки cryptography (подробности см. в разделе «Требования»), она будет использоваться вместо исполняемого файла openssl. Это можно явно отключить или включить с помощью параметра select_crypto_backend. Обратите внимание, что использование исполняемого файла openssl будет медленнее и менее безопасным, поскольку содержимое закрытых ключей всегда должно храниться на диске (см. account_key_content).

См. также

См. также

community.crypto.acme_certificate_order_create

Создает заказ ACME.

community.crypto.acme_certificate_order_validate

Проверяет ожидающие подтверждения авторизации заказа ACME.

community.crypto.acme_certificate_order_finalize

Завершает заказ ACME после выполнения проверок.

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

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

Расширение проверки ACME TLS ALPN

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

community.crypto.acme_inspect

Позволяет диагностировать проблемы.

community.crypto.acme_certificate_deactivate_authz

Позволяет деактивировать (аннулировать) заказы ACME v2.

Примеры

---
- name: Create a challenge for sample.com using a account key from a variable
  community.crypto.acme_certificate_order_create:
    account_key_content: "{{ account_private_key }}"
    csr: /etc/pki/cert/csr/sample.com.csr
  register: order

- name: Obtain information on the order
  community.crypto.acme_certificate_order_info:
    account_key_src: /etc/pki/cert/private/account.key
    order_uri: "{{ order.order_uri }}"
  register: order_info

- name: Show information
  ansible.builtin.debug:
    var: order_info

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

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

Ключ

Описание

account_uri

string

URI учётной записи ACME.

Возвращается: при успехе

authorizations_by_identifier

dictionary

Словарь, сопоставляющий идентификаторы с соответствующими объектами авторизации.

Возвращается: при успехе

identifier

dictionary

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

Описание структуры объектов авторизации см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.4.

Возвращается: при успехе

challenges

list / elements=dictionary

Для ожидающих авторизаций — испытания, которые клиент может выполнить, чтобы подтвердить владение идентификатором.

Для действительных авторизаций — испытание, прошедшее проверку.

Для недействительных авторизаций — испытание, которое было предпринято, но не пройдено.

Каждая запись массива — это объект с параметрами, необходимыми для проверки испытания. Клиенту следует попытаться выполнить одно из этих испытаний, а серверу следует считать любое из них достаточным для признания авторизации действительной.

Общее описание структуры см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-8. Структура каждой записи зависит от типа испытания. Для испытаний tls-alpn-01 структура определена в разделе https://www.rfc-editor.org/rfc/rfc8737.html#section-3.

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

error

dictionary

Ошибка, возникшая при проверке испытания сервером, если таковая имеется.

Это поле имеет структуру документа с описанием проблемы согласно RFC 7807.

Возвращается: всегда, если authorizations_by_identifier.identifier.challenges[].type=invalid; в противном случае — в некоторых ситуациях

status

string

Статус этого испытания.

Информацию об изменении состояний см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6.

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

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

  • "pending"
  • "processing"
  • "valid"
  • "invalid"

type

string

Тип испытания, закодированного в объекте.

Поддержка dns-account-01 и dns-persist-01 добавлена в community.crypto 3.2.0.

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

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

  • "http-01"
  • "dns-01"
  • "dns-account-01"
  • "dns-persist-01"
  • "tls-alpn-01"

url

string

URL, на который можно отправить ответ.

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

validated

string

Время, когда сервер проверил это испытание.

Закодировано в формате, указанном в RFC 3339.

Возвращается: всегда, если authorizations_by_identifier.identifier.challenges[].type=valid; в противном случае — в некоторых ситуациях

expires

string

Метка времени, после которой сервер будет считать эту авторизацию недействительной.

Закодировано в формате, указанном в RFC 3339.

Возвращается: если authorizations_by_identifier.identifier.status=valid, а также иногда в других ситуациях

identifier

dictionary

Идентификатор, представлять который уполномочена учётная запись.

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

type

string

Тип идентификатора.

На данный момент определены значения dns и ip.

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

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

  • "dns"
  • "ip"

Пример: "dns"

value

string

Сам идентификатор.

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

Пример: "example.com"

status

string

Статус этой авторизации.

Информацию об изменении состояний см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6.

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

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

  • "pending"
  • "valid"
  • "invalid"
  • "deactivated"
  • "expired"
  • "revoked"

wildcard

boolean

Это поле должно присутствовать и иметь значение true для авторизаций, созданных в результате запроса newOrder, содержащего DNS-идентификатор со значением, являющимся доменным именем с подстановочным знаком. Для остальных авторизаций это поле должно отсутствовать.

Описание доменных имён с подстановочными знаками приведено в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.3 спецификации ACME.

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

authorizations_by_status

dictionary

Для каждого статуса — список идентификаторов, авторизации которых имеют этот статус.

Возвращается: при успехе

deactivated

list / elements=string

Список всех идентификаторов, авторизации которых находятся в состоянии deactivated.

Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6.

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

expired

list / elements=string

Список всех идентификаторов, авторизации которых находятся в состоянии expired.

Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6.

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

invalid

list / elements=string

Список всех идентификаторов, авторизации которых находятся в состоянии invalid.

Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6.

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

pending

list / elements=string

Список всех идентификаторов, авторизации которых находятся в состоянии pending.

Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6.

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

revoked

list / elements=string

Список всех идентификаторов, авторизации которых находятся в состоянии revoked.

Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6.

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

valid

list / elements=string

Список всех идентификаторов, авторизации которых находятся в состоянии valid.

Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6.

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

order

dictionary

Объект заказа.

Его спецификацию см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.3.

Возвращается: при успехе

authorizations

list / elements=string

Для ожидающих заказов — авторизации, которые клиент должен завершить, прежде чем можно будет выдать запрошенный сертификат. Сюда входят и не просроченные авторизации, которые клиент ранее завершил для указанных в заказе идентификаторов.

Необходимые авторизации определяются политикой сервера; соответствие между идентификаторами заказа и необходимыми авторизациями может быть не взаимно однозначным.

Для окончательных заказов (в состоянии valid или invalid) — завершённые авторизации. Каждая запись представляет собой URL, по которому можно получить авторизацию с помощью запроса POST-as-GET.

Сами авторизации возвращаются в виде authorizations_by_identifier.

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

certificate

string

URL выданного по этому заказу сертификата.

Возвращается: после выдачи сертификата

error

dictionary

Ошибка, возникшая при обработке заказа, если таковая имеется.

Это поле имеет структуру документа с описанием проблемы согласно RFC 7807.

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

expires

string

Метка времени, после которой сервер будет считать этот заказ недействительным.

Закодировано в формате, указанном в RFC 3339.

Возвращается: если order.status имеет значение pending или valid, а также иногда в других ситуациях

finalize

string

URL, на который необходимо отправить CSR методом POST после выполнения всех авторизаций заказа, чтобы завершить заказ. В результате успешного завершения в заказе появится URL сертификата.

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

identifiers

list / elements=dictionary

Массив объектов идентификаторов, к которым относится заказ.

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

type

string

Тип идентификатора.

На данный момент определены значения dns и ip.

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

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

  • "dns"
  • "ip"

Пример: "dns"

value

string

Сам идентификатор.

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

Пример: "example.com"

notAfter

string

Запрошенное значение поля notAfter в сертификате.

Закодировано в формате даты, определённом в RFC 3339.

Возвращается: зависит от заказа

notBefore

string

Запрошенное значение поля notBefore в сертификате.

Закодировано в формате даты, определённом в RFC 3339.

Возвращается: зависит от заказа

profile

string

Если центр сертификации ACME поддерживает профили с помощью механизма draft-aaron-acme-profiles и сообщает о профиле, выбранном для этого заказа, в этом поле будет указано имя использованного профиля.

Возвращается: зависит от центра сертификации ACME

replaces

string

Если заказ создан для замены существующего сертификата с использованием механизма replaces из RFC 9773, здесь указан идентификатор сертификата, который будет заменён этим заказом.

Возвращается: когда заказ на сертификат заменяет сертификат согласно RFC 9773

status

string

Статус этого заказа.

Информацию об изменении состояний см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6.

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

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

  • "pending"
  • "ready"
  • "processing"
  • "valid"
  • "invalid"

order_uri

string

URI заказа ACME.

Возвращается: при успехе

Авторы

  • Felix Fontein (@felixfontein)

Ссылки коллекции

  • Трекер проблем
  • Репозиторий (исходный код)
  • Запросить помощь (криптография)
  • Запросить помощь (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_certificate_order_info_module.html

Spec-Zone.ru

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