Модуль 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. Для ключей на эллиптических кривых поддерживаются только следующие кривые: Несовместим с Обязателен, если не используется Предупреждение: содержимое будет записано во временный файл, который Ansible удалит после завершения работы модуля. Поскольку это важный закрытый ключ — его можно использовать для смены ключа учетной записи или отзыва ваших сертификатов, не зная их закрытых ключей, — такой способ может быть неприемлем. Если используется |
account_key_passphrase строка добавлено в community.crypto 1.6.0 | Парольная фраза для расшифровки ключа учетной записи. Примечание: это не поддерживается механизмом |
account_key_src псевдонимы: account_key путь | Путь к файлу, содержащему ключ RSA или ключ на эллиптической кривой учетной записи ACME. Для ключей на эллиптических кривых поддерживаются только следующие кривые: Закрытые ключи можно создать с помощью модулей community.crypto.openssl_privatekey или community.crypto.openssl_privatekey_pipe. Если необходимая библиотека (cryptography) недоступна, ключи можно также создать непосредственно с помощью инструмента командной строки Несовместим с Обязателен, если не используется |
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 должно быть указано Значение Допустимые значения:
|
order_uri строка / обязательный | URI заказа, предоставленный модулем |
request_timeout целое число добавлено в community.crypto 2.3.0 | Время ожидания Ansible ответа от API ACME. Это время ожидания применяется ко всем HTTP(S)-запросам (HEAD, GET, POST). По умолчанию: |
select_crypto_backend строка | Определяет, какой криптографический механизм использовать. По умолчанию выбрано значение Если задано значение Если задано значение Допустимые значения:
|
validate_certs логическое значение | Следует ли проверять TLS-сертификаты при обращении к каталогу ACME. Предупреждение: значение Допустимые значения:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
action_group | Группы действий: community.crypto.acme, acme | Используйте |
check_mode | Поддержка: полная Это действие не изменяет состояние. | Может выполняться в режиме |
diff_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 |
Ключами в этом словаре являются идентификаторы. Описание структуры объектов авторизации см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.4. Возвращается: при успехе |
|
challenges list / elements=dictionary |
Для ожидающих авторизаций — испытания, которые клиент может выполнить, чтобы подтвердить владение идентификатором. Для действительных авторизаций — испытание, прошедшее проверку. Для недействительных авторизаций — испытание, которое было предпринято, но не пройдено. Каждая запись массива — это объект с параметрами, необходимыми для проверки испытания. Клиенту следует попытаться выполнить одно из этих испытаний, а серверу следует считать любое из них достаточным для признания авторизации действительной. Общее описание структуры см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-8. Структура каждой записи зависит от типа испытания. Для испытаний Возвращается: всегда |
|
error dictionary |
Ошибка, возникшая при проверке испытания сервером, если таковая имеется. Это поле имеет структуру документа с описанием проблемы согласно RFC 7807. Возвращается: всегда, если |
|
status string |
Статус этого испытания. Информацию об изменении состояний см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6. Возвращается: всегда Возможные возвращаемые значения:
|
|
type string |
Тип испытания, закодированного в объекте. Поддержка Возвращается: всегда Возможные возвращаемые значения:
|
|
url string |
URL, на который можно отправить ответ. Возвращается: всегда |
|
validated string |
Время, когда сервер проверил это испытание. Закодировано в формате, указанном в RFC 3339. Возвращается: всегда, если |
|
expires string |
Метка времени, после которой сервер будет считать эту авторизацию недействительной. Закодировано в формате, указанном в RFC 3339. Возвращается: если |
|
identifier dictionary |
Идентификатор, представлять который уполномочена учётная запись. Возвращается: всегда |
|
type string |
Тип идентификатора. На данный момент определены значения Возвращается: всегда Возможные возвращаемые значения:
Пример: |
|
value string |
Сам идентификатор. Возвращается: всегда Пример: |
|
status string |
Статус этой авторизации. Информацию об изменении состояний см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6. Возвращается: всегда Возможные возвращаемые значения:
|
|
wildcard boolean |
Это поле должно присутствовать и иметь значение true для авторизаций, созданных в результате запроса Описание доменных имён с подстановочными знаками приведено в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.3 спецификации ACME. Возвращается: иногда |
authorizations_by_status dictionary | Для каждого статуса — список идентификаторов, авторизации которых имеют этот статус. Возвращается: при успехе |
|
deactivated list / elements=string |
Список всех идентификаторов, авторизации которых находятся в состоянии Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6. Возвращается: всегда |
|
expired list / elements=string |
Список всех идентификаторов, авторизации которых находятся в состоянии Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6. Возвращается: всегда |
|
invalid list / elements=string |
Список всех идентификаторов, авторизации которых находятся в состоянии Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6. Возвращается: всегда |
|
pending list / elements=string |
Список всех идентификаторов, авторизации которых находятся в состоянии Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6. Возвращается: всегда |
|
revoked list / elements=string |
Список всех идентификаторов, авторизации которых находятся в состоянии Информацию об изменении состояний авторизаций см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6. Возвращается: всегда |
|
valid list / elements=string |
Список всех идентификаторов, авторизации которых находятся в состоянии Информацию об изменении состояний авторизаций см. в разделе 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 |
Для ожидающих заказов — авторизации, которые клиент должен завершить, прежде чем можно будет выдать запрошенный сертификат. Сюда входят и не просроченные авторизации, которые клиент ранее завершил для указанных в заказе идентификаторов. Необходимые авторизации определяются политикой сервера; соответствие между идентификаторами заказа и необходимыми авторизациями может быть не взаимно однозначным. Для окончательных заказов (в состоянии Сами авторизации возвращаются в виде Возвращается: всегда |
|
certificate string |
URL выданного по этому заказу сертификата. Возвращается: после выдачи сертификата |
|
error dictionary |
Ошибка, возникшая при обработке заказа, если таковая имеется. Это поле имеет структуру документа с описанием проблемы согласно RFC 7807. Возвращается: иногда |
|
expires string |
Метка времени, после которой сервер будет считать этот заказ недействительным. Закодировано в формате, указанном в RFC 3339. Возвращается: если |
|
finalize string |
URL, на который необходимо отправить CSR методом POST после выполнения всех авторизаций заказа, чтобы завершить заказ. В результате успешного завершения в заказе появится URL сертификата. Возвращается: всегда |
|
identifiers list / elements=dictionary |
Массив объектов идентификаторов, к которым относится заказ. Возвращается: всегда |
|
type string |
Тип идентификатора. На данный момент определены значения Возвращается: всегда Возможные возвращаемые значения:
Пример: |
|
value string |
Сам идентификатор. Возвращается: всегда Пример: |
|
notAfter string |
Запрошенное значение поля Закодировано в формате даты, определённом в RFC 3339. Возвращается: зависит от заказа |
|
notBefore string |
Запрошенное значение поля Закодировано в формате даты, определённом в RFC 3339. Возвращается: зависит от заказа |
|
profile string |
Если центр сертификации ACME поддерживает профили с помощью механизма draft-aaron-acme-profiles и сообщает о профиле, выбранном для этого заказа, в этом поле будет указано имя использованного профиля. Возвращается: зависит от центра сертификации ACME |
|
replaces string |
Если заказ создан для замены существующего сертификата с использованием механизма Возвращается: когда заказ на сертификат заменяет сертификат согласно RFC 9773 |
|
status string |
Статус этого заказа. Информацию об изменении состояний см. в разделе https://www.rfc-editor.org/rfc/rfc8555#section-7.1.6. Возвращается: всегда Возможные возвращаемые значения:
|
order_uri string | URI заказа 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