Модуль community.crypto.openssl_csr_pipe — создание запроса на подпись сертификата OpenSSL (CSR)
Примечание
Этот модуль входит в коллекцию community.crypto (версия 3.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.crypto. Для работы с этим модулем требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.crypto.openssl_csr_pipe.
Добавлено в community.crypto 1.3.0
Краткое описание
- Обратите внимание, что модуль повторно создает существующий CSR, если он не соответствует параметрам модуля или выглядит поврежденным.
- Этот модуль позволяет создавать или повторно создавать запросы на подпись сертификата OpenSSL.
- Этот модуль поддерживает расширения subjectAltName, keyUsage, extendedKeyUsage, basicConstraints и OCSP Must Staple.
Требования
Перечисленные ниже компоненты должны быть установлены на узле, где выполняется этот модуль.
- cryptography >= 3.3
Параметры
Параметр | Комментарии |
|---|---|
authority_cert_issuer list / elements=string | Имена, которые будут указаны в поле издателя сертификата центра сертификации (authority cert issuer) запроса на подпись сертификата. Перед значениями должны указываться соответствующие параметры. (То есть Пример: Если указано это значение, необходимо также указать Обратите внимание, что коммерческие центры сертификации игнорируют это значение или используют собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации. Расширение |
authority_cert_serial_number integer | Серийный номер сертификата центра сертификации. Если указано это значение, необходимо также указать Обратите внимание, что коммерческие центры сертификации игнорируют это значение или используют собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации. Расширение Этот параметр принимает значение типа integer. Если необходимо указать серийные номера в виде шестнадцатеричных строк, разделённых двоеточиями, например |
authority_key_identifier string | Идентификатор ключа центра сертификации в виде шестнадцатеричной строки, в которой два байта разделены двоеточиями. Пример: Обратите внимание, что коммерческие центры сертификации игнорируют это значение или используют собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации. Расширение |
basic_constraints псевдонимы: basicConstraints list / elements=string | Указывает основные ограничения, например, является ли сертификат сертификатом центра сертификации. |
basic_constraints_critical псевдонимы: basicConstraints_critical boolean | Следует ли считать расширение basicConstraints критическим. Варианты:
|
common_name псевдонимы: CN, commonName string | Поле commonName субъекта запроса на подпись сертификата. |
content string | Существующий запрос на подпись сертификата (CSR). |
country_name псевдонимы: C, countryName string | Поле countryName субъекта запроса на подпись сертификата. |
create_subject_key_identifier boolean | Создать идентификатор ключа субъекта на основе открытого ключа. Обратите внимание, что коммерческие центры сертификации могут игнорировать это значение или использовать вместо него собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации. Варианты:
|
crl_distribution_points list / elements=dictionary добавлено в community.crypto 1.4.0 | Позволяет указать одну или несколько точек распространения списка отзыва сертификатов (CRL). |
|
crl_issuer list / elements=string |
Информация об издателе CRL. |
|
full_name list / elements=string |
Описывает способ получения CRL. Несовместим с Пример: |
|
reasons list / elements=string |
Список причин, по которым эту точку распространения можно использовать при проверке отзыва сертификатов. Варианты:
|
|
relative_name list / elements=string |
Описывает способ получения CRL относительно издателя CRL. Несовместим с Пример: |
digest string | Хеш-функция, используемая при подписании запроса на подпись сертификата закрытым ключом. По умолчанию: |
email_address псевдонимы: E, emailAddress string | Поле emailAddress субъекта запроса на подпись сертификата. |
extended_key_usage псевдонимы: extKeyUsage, extendedKeyUsage list / elements=string | Дополнительные ограничения (например, аутентификация клиента или сервера) на допустимые цели использования открытого ключа. |
extended_key_usage_critical псевдонимы: extKeyUsage_critical, extendedKeyUsage_critical boolean | Следует ли считать расширение extkeyUsage критическим. Варианты:
|
key_usage псевдонимы: keyUsage list / elements=string | Определяет назначение ключа, содержащегося в сертификате (например, шифрование, создание подписи или подписание сертификатов). |
key_usage_critical псевдонимы: keyUsage_critical boolean | Следует ли считать расширение keyUsage критическим. Варианты:
|
locality_name псевдонимы: L, localityName string | Поле localityName субъекта запроса на подпись сертификата. |
name_constraints_critical boolean | Следует ли считать расширение ограничений имён критическим. Варианты:
|
name_constraints_excluded list / elements=string | Для сертификатов центров сертификации указывает список идентификаторов, описывающих поддеревья имён, для которых этому центру сертификации не разрешено выдавать сертификаты. Перед значениями должны указываться соответствующие параметры. (То есть |
name_constraints_permitted list / elements=string | Для сертификатов центров сертификации указывает список идентификаторов, описывающих поддеревья имён, для которых этому центру сертификации разрешено выдавать сертификаты. Перед значениями должны указываться соответствующие параметры. (То есть |
ocsp_must_staple псевдонимы: ocspMustStaple boolean | Указывает, что сертификат должен содержать расширение OCSP Must Staple (https://tools.ietf.org/html/rfc7633). Варианты:
|
ocsp_must_staple_critical псевдонимы: ocspMustStaple_critical boolean | Следует ли считать расширение OCSP Must Staple критическим. Обратите внимание: согласно RFC это расширение не следует помечать как критическое, поскольку старые клиенты, не поддерживающие OCSP Must Staple, должны отклонять такие сертификаты (см. https://tools.ietf.org/html/rfc7633#section-4). Варианты:
|
organization_name псевдонимы: O, organizationName string | Поле organizationName субъекта запроса на подпись сертификата. |
organizational_unit_name псевдонимы: OU, organizationalUnitName string | Поле organizationalUnitName субъекта запроса на подпись сертификата. |
privatekey_content string | Содержимое закрытого ключа, используемого для подписания запроса на подпись сертификата. Необходимо указать либо |
privatekey_passphrase string | Парольная фраза для закрытого ключа. Обязательна, если закрытый ключ защищён паролем. |
privatekey_path path | Путь к закрытому ключу, используемому для подписания запроса на подпись сертификата. Необходимо указать либо |
select_crypto_backend string | Определяет, какой криптографический механизм использовать. По умолчанию выбирается Если задано значение Обратите внимание, что в community.crypto 3.0.0 все значения работают одинаково. В более поздней версии этот параметр будет объявлен устаревшим. Рекомендуется не задавать его явно. Варианты:
|
state_or_province_name псевдонимы: ST, stateOrProvinceName string | Поле stateOrProvinceName субъекта запроса на подпись сертификата. |
subject dictionary | Пары ключ/значение, которые будут указаны в поле имени субъекта запроса на подпись сертификата. Если необходимо указать несколько значений с одинаковым ключом, используйте список в качестве значения. Если важен порядок компонентов, используйте Несовместим с |
subject_alt_name псевдонимы: subjectAltName list / elements=string | Расширение альтернативного имени субъекта (SAN), добавляемое в запрос на подпись сертификата. Перед значениями должны указываться соответствующие параметры. (Это Обратите внимание: если SAN не указан, но указано общее имя, общее имя будет добавлено как SAN, кроме случая, когда для Подробнее: https://tools.ietf.org/html/rfc5280#section-4.2.1.6. |
subject_alt_name_critical псевдонимы: subjectAltName_critical boolean | Следует ли считать расширение subjectAltName критическим. Варианты:
|
subject_key_identifier string | Идентификатор ключа субъекта в виде шестнадцатеричной строки, в которой два байта разделены двоеточиями. Пример: Обратите внимание, что коммерческие центры сертификации игнорируют это значение или используют собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации. Обратите внимание, что этот параметр можно использовать, только если для |
subject_ordered list / elements=dictionary добавлено в community.crypto 2.0.0 | Список словарей, каждый из которых должен содержать одну пару ключ/значение. Эта пара ключ/значение будет указана в поле имени субъекта запроса на подпись сертификата. Чтобы указать несколько значений с одинаковым ключом подряд, можно использовать список в качестве значения. Несовместим с |
use_common_name_for_san псевдонимы: useCommonNameForSAN boolean | Если задано значение Варианты:
|
version integer | Версия запроса на подписание сертификата. Единственное допустимое значение согласно RFC 2986 — 1. Начиная с community.crypto 2.0.0 этот параметр больше не принимает неподдерживаемые значения. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная Начиная с community.crypto 3.0.0 модуль игнорирует режим проверки и всегда работает так, как если бы режим проверки был отключён. | Может выполняться в |
diff_mode | Поддержка: полная | В режиме сравнения будут возвращены сведения об изменениях (или о том, что, возможно, требуется изменить в |
idempotent | Поддержка: полная | При повторном запуске подряд вне режима проверки с теми же аргументами второй вызов сообщает об отсутствии изменений. Предполагается, что система, которой управляет модуль или к которой он обращается, не изменилась существенным образом. |
Примечания
Примечание
- Если запрос на подписание сертификата уже существует, будет проверено, содержат ли subjectAltName, keyUsage, extendedKeyUsage и basicConstraints только запрошенные значения, соответствует ли параметру OCSP Must Staple и подписан ли запрос указанным закрытым ключом.
См. также
См. также
- community.crypto.openssl_csr
-
Создание запроса на подписание сертификата OpenSSL (CSR).
- community.crypto.x509_certificate
-
Создание и/или проверка сертификатов OpenSSL.
- community.crypto.x509_certificate_pipe
-
Создание и/или проверка сертификатов OpenSSL.
- community.crypto.openssl_dhparam
-
Создание параметров Диффи — Хеллмана OpenSSL.
- community.crypto.openssl_pkcs12
-
Создание архива PKCS#12 OpenSSL.
- community.crypto.openssl_privatekey
-
Создание закрытых ключей OpenSSL.
- community.crypto.openssl_privatekey_pipe
-
Создание закрытых ключей OpenSSL без доступа к диску.
- community.crypto.openssl_publickey
-
Создание открытого ключа OpenSSL из соответствующего закрытого ключа.
- community.crypto.openssl_csr_info
-
Получение сведений о запросах на подписание сертификата OpenSSL (CSR).
- community.crypto.parse_serial фильтр-плагин
-
Преобразование серийного номера в виде списка шестнадцатеричных чисел, разделённых двоеточиями, в целое число.
Примеры
---
- name: Generate an OpenSSL Certificate Signing Request
community.crypto.openssl_csr_pipe:
privatekey_path: /etc/ssl/private/ansible.com.pem
common_name: www.ansible.com
register: result
- name: Print CSR
ansible.builtin.debug:
var: result.csr
- name: Generate an OpenSSL Certificate Signing Request with an inline CSR
community.crypto.openssl_csr:
content: "{{ lookup('ansible.builtin.file', '/etc/ssl/csr/www.ansible.com.csr') }}"
privatekey_content: "{{ private_key_content }}"
common_name: www.ansible.com
register: result
- name: Store CSR
ansible.builtin.copy:
dest: /etc/ssl/csr/www.ansible.com.csr
content: "{{ result.csr }}"
when: result is changed
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
basicConstraints list / elements=string | Указывает, является ли сертификат сертификатом центра сертификации (CA). Возвращается: при изменении или успешном выполнении Пример: |
csr string | Содержимое (текущего или созданного) CSR. Возвращается: при изменении или успешном выполнении |
extendedKeyUsage list / elements=string | Дополнительное ограничение на назначение открытого ключа. Возвращается: при изменении или успешном выполнении Пример: |
keyUsage list / elements=string | Назначение, для которого можно использовать открытый ключ. Возвращается: при изменении или успешном выполнении Пример: |
name_constraints_excluded list / elements=string | Список исключённых поддеревьев, для которых центр сертификации не может подписывать сертификаты. Возвращается: при изменении или успешном выполнении Пример: |
name_constraints_permitted list / elements=string | Список разрешённых поддеревьев, для которых можно подписывать сертификаты. Возвращается: при изменении или успешном выполнении Пример: |
ocsp_must_staple boolean | Указывает, включена ли в сертификате функция OCSP Must Staple. Возвращается: при изменении или успешном выполнении Пример: |
privatekey string | Путь к закрытому ключу TLS/SSL, для которого был создан CSR. Будет Возвращается: при изменении или успешном выполнении Пример: |
subject list / elements=list | Список кортежей subject, включённых в CSR. Возвращается: при изменении или успешном выполнении Пример: |
subjectAltName list / elements=string | Альтернативные имена, для которых действителен этот CSR. Возвращается: при изменении или успешном выполнении Пример: |
Ссылки на коллекцию
© 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/openssl_csr_pipe_module.html