Модуль community.crypto.openssl_csr_pipe — Генерация запроса на подпись сертификата OpenSSL (CSR)
Примечание
Этот модуль является частью коллекции community.crypto (версия 2.22.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 >= 1.3
Параметры
Параметр | Комментарии |
|---|---|
authority_cert_issuer список / элементы=строка | Имена, которые будут присутствовать в поле издателя сертификата уполномоченного органа в запросе на подписание сертификата. Значения должны быть префиксрованы соответствующими опциями. (То есть, Пример: Если указано, то Обратите внимание, что коммерческие CA игнорируют это значение, соответственно используют своё значение по умолчанию. Указание этого параметра полезно в основном для самозаверяемых сертификатов или для собственных CA. Обратите внимание, что это поддерживается только если используется бэкенд Расширение |
authority_cert_serial_number целое число | Серийный номер сертификата уполномоченного органа. Если указано, то Обратите внимание, что это поддерживается только если используется бэкенд Обратите внимание, что коммерческие CA игнорируют это значение, соответственно используют своё значение по умолчанию. Указание этого параметра полезно в основном для самозаверяемых сертификатов или для собственных CA. Расширение Этот параметр принимает целое число. Если вы хотите указать серийные номера как разделенные двоеточием шестнадцатеричные строки, например |
authority_key_identifier строка | Идентификатор ключа уполномоченного органа в виде шестнадцатеричной строки, где два байта разделены двоеточиями. Пример: Обратите внимание, что коммерческие CA игнорируют это значение, соответственно используют своё значение по умолчанию. Указание этого параметра полезно в основном для самозаверяемых сертификатов или для собственных CA. Обратите внимание, что это поддерживается только если используется бэкенд Расширение |
basic_constraints алиасы: basicConstraints список / элементы=строка | Указывает базовые ограничения, например, является ли сертификат CA. |
basic_constraints_critical алиасы: basicConstraints_critical булево | Должен ли расширение basicConstraints рассматриваться как критический. Варианты:
|
common_name алиасы: CN, commonName строка | Поле commonName субъекта запроса на подписание сертификата. |
content строка | Существующий запрос на подписание сертификата (CSR). |
country_name алиасы: C, countryName строка | Поле countryName субъекта запроса на подписание сертификата. |
create_subject_key_identifier булево | Создать идентификатор ключа субъекта из открытого ключа. Обратите внимание, что коммерческие CA могут игнорировать значение, соответственно использовать свое собственное значение. Указание этого параметра полезно в основном для самозаверяемых сертификатов или для собственных CA. Обратите внимание, что это поддерживается только если используется бэкенд Варианты:
|
crl_distribution_points список / элементы=словарь добавлен в community.crypto 1.4.0 | Позволяет указать один или несколько пунктов распространения CRL. Поддерживается только бэкендом |
|
crl_issuer список / элементы=строка |
Информация об издателе CRL. |
|
full_name список / элементы=строка |
Описание того, как можно получить CRL. Взаимоисключительно с Пример: |
|
reasons список / элементы=строка |
Список причин, по которым этот пункт распространения может быть использован при проверке отзыва. Варианты:
|
|
relative_name список / элементы=строка |
Описание того, как CRL может быть получен относительно издателя CRL. Взаимоисключительно с Пример: Может быть использован только при установке криптографии >= 1.6. |
digest string | Используемый дайджест при подписании запроса на подписание сертификата с помощью закрытого ключа. По умолчанию: |
email_address aliases: E, emailAddress string | Поле emailAddress в субъекте запроса на подписание сертификата. |
extended_key_usage aliases: extKeyUsage, extendedKeyUsage list / elements=string | Дополнительные ограничения (например, аутентификация клиента, аутентификация сервера) на разрешенные цели использования открытого ключа. |
extended_key_usage_critical aliases: extKeyUsage_critical, extendedKeyUsage_critical boolean | Должен ли расширенный ключ extkeyUsage считаться критичным. Варианты:
|
key_usage aliases: keyUsage list / elements=string | Определяет назначение (например, шифрование, подпись, подписание сертификата) ключа, содержащегося в сертификате. |
key_usage_critical aliases: keyUsage_critical boolean | Должен ли расширение keyUsage считаться критичным. Варианты:
|
locality_name aliases: L, localityName string | Поле localityName в субъекте запроса на подписание сертификата. |
name_constraints_critical boolean | Должно ли расширение Name Constraints считаться критичным. Варианты:
|
name_constraints_excluded list / elements=string | Для сертификатов CA, это список идентификаторов, описывающих поддеревья имен, для которых данная CA не должна выдавать сертификаты. Значения должны быть префиксрованы соответствующими параметрами. (То есть |
name_constraints_permitted list / elements=string | Для сертификатов CA, это список идентификаторов, описывающих поддеревья имен, для которых данная CA может выдавать сертификаты. Значения должны быть префиксрованы соответствующими параметрами. (То есть |
ocsp_must_staple aliases: ocspMustStaple boolean | Указывает, что сертификат должен содержать расширение OCSP Must Staple (https://tools.ietf.org/html/rfc7633). Варианты:
|
ocsp_must_staple_critical aliases: ocspMustStaple_critical boolean | Должен ли расширение OCSP Must Staple считаться критичным. Обратите внимание, что согласно RFC, это расширение не должно быть отмечено как критичное, так как старые клиенты, не знающие об OCSP Must Staple, должны отклонять такие сертификаты (см. https://tools.ietf.org/html/rfc7633#section-4). Варианты:
|
organization_name aliases: O, organizationName string | Поле organizationName в субъекте запроса на подписание сертификата. |
organizational_unit_name aliases: OU, organizationalUnitName string | Поле organizationalUnitName в субъекте запроса на подписание сертификата. |
privatekey_content string | Содержимое закрытого ключа, используемого при подписании запроса на подпись сертификата. Необходимо указать либо |
privatekey_passphrase string | Пароль для закрытого ключа. Требуется, если закрытый ключ защищен паролем. |
privatekey_path path | Путь к закрытому ключу, используемому при подписании запроса на подпись сертификата. Необходимо указать либо |
select_crypto_backend string | Определяет, какой криптографический бэкэнд использовать. Выбор по умолчанию — Если установлено значение Варианты:
|
state_or_province_name псевдонимы: ST, stateOrProvinceName string | Поле stateOrProvinceName субъекта запроса на подпись сертификата. |
subject dictionary | Пары ключ/значение, которые будут присутствовать в поле имени субъекта запроса на подпись сертификата. Если необходимо указать более одного значения с одним и тем же ключом, используйте список в качестве значения. Если порядок компонентов важен, используйте Взаимоисключающе с |
subject_alt_name псевдонимы: subjectAltName list / elements=string | Расширение Subject Alternative Name (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. Начиная с community.crypto 3.0.0, модуль будет игнорировать режим проверки и всегда работать так, как будто режим проверки неактивен. Если вы считаете, что это нарушает ваш случай использования этого модуля, пожалуйста, создайте проблему в репозитории community.crypto. | Может работать в режиме |
diff_mode | Поддержка: полная | В режиме сравнения будет возвращена информация о том, что изменилось (или, возможно, нужно изменить в |
Примечания
Примечание
- Если запрос на подписание сертификата уже существует, будет проверено, содержат ли 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
-
Генерация параметров Diffie-Hellman OpenSSL.
- community.crypto.openssl_pkcs12
-
Генерация архива OpenSSL PKCS#12.
- 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 список / элементы=строка | Указывает, принадлежит ли сертификат центру сертификации Возвращено: изменён или успех Пример: |
csr строка | Содержимое (текущего или сгенерированного) CSR. Возвращено: изменён или успех |
extendedKeyUsage список / элементы=строка | Дополнительные ограничения на назначение открытого ключа Возвращено: изменён или успех Пример: |
keyUsage список / элементы=строка | Назначение, для которого может использоваться открытый ключ Возвращено: изменён или успех Пример: |
name_constraints_excluded список / элементы=строка | Список исключённых поддеревьев, для которых ЦС не может подписывать сертификаты. Возвращено: изменён или успех Пример: |
name_constraints_permitted список / элементы=строка | Список разрешенных поддеревьев для подписи сертификатов. Возвращено: изменён или успех Пример: |
ocsp_must_staple логическое значение | Указывает, включена ли функция OCSP Must Staple в сертификате Возвращено: изменён или успех Пример: |
privatekey строка | Путь к закрытому ключу TLS/SSL, для которого был сгенерирован CSR Будет Возвращено: изменён или успех Пример: |
subject список / элементы=список | Список кортежей субъекта, присоединённых к CSR Возвращено: изменён или успех Пример: |
subjectAltName список / элементы=строка | Альтернативные имена, для которых этот CSR действителен Возвращено: изменён или успех Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/crypto/openssl_csr_pipe_module.html