Spec-Zone.ru › Ansible

Модуль 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) запроса на подпись сертификата.

Перед значениями должны указываться соответствующие параметры. (То есть email, URI, DNS, RID, IP, dirName, otherName и параметры, специфичные для вашего центра сертификации).

Пример: DNS:ca.example.org.

Если указано это значение, необходимо также указать authority_cert_serial_number.

Обратите внимание, что коммерческие центры сертификации игнорируют это значение или используют собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации.

Расширение AuthorityKeyIdentifier будет добавлено, только если указан хотя бы один из параметров authority_key_identifier, authority_cert_issuer и authority_cert_serial_number.

authority_cert_serial_number

integer

Серийный номер сертификата центра сертификации.

Если указано это значение, необходимо также указать authority_cert_issuer.

Обратите внимание, что коммерческие центры сертификации игнорируют это значение или используют собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации.

Расширение AuthorityKeyIdentifier будет добавлено, только если указан хотя бы один из параметров authority_key_identifier, authority_cert_issuer и authority_cert_serial_number.

Этот параметр принимает значение типа integer. Если необходимо указать серийные номера в виде шестнадцатеричных строк, разделённых двоеточиями, например 11:22:33, их нужно преобразовать в целое число с помощью фильтра community.crypto.parse_serial.

authority_key_identifier

string

Идентификатор ключа центра сертификации в виде шестнадцатеричной строки, в которой два байта разделены двоеточиями.

Пример: 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:22:33.

Обратите внимание, что коммерческие центры сертификации игнорируют это значение или используют собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации.

Расширение AuthorityKeyIdentifier будет добавлено, только если указан хотя бы один из параметров authority_key_identifier, authority_cert_issuer и authority_cert_serial_number.

basic_constraints

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

list / elements=string

Указывает основные ограничения, например, является ли сертификат сертификатом центра сертификации.

basic_constraints_critical

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

boolean

Следует ли считать расширение basicConstraints критическим.

Варианты:

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

common_name

псевдонимы: CN, commonName

string

Поле commonName субъекта запроса на подпись сертификата.

content

string

Существующий запрос на подпись сертификата (CSR).

country_name

псевдонимы: C, countryName

string

Поле countryName субъекта запроса на подпись сертификата.

create_subject_key_identifier

boolean

Создать идентификатор ключа субъекта на основе открытого ключа.

Обратите внимание, что коммерческие центры сертификации могут игнорировать это значение или использовать вместо него собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации.

Варианты:

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

crl_distribution_points

list / elements=dictionary

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

Позволяет указать одну или несколько точек распространения списка отзыва сертификатов (CRL).

crl_issuer

list / elements=string

Информация об издателе CRL.

full_name

list / elements=string

Описывает способ получения CRL.

Несовместим с crl_distribution_points[].relative_name.

Пример: URI:https://ca.example.com/revocations.crl.

reasons

list / elements=string

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

Варианты:

  • "key_compromise"
  • "ca_compromise"
  • "affiliation_changed"
  • "superseded"
  • "cessation_of_operation"
  • "certificate_hold"
  • "privilege_withdrawn"
  • "aa_compromise"

relative_name

list / elements=string

Описывает способ получения CRL относительно издателя CRL.

Несовместим с crl_distribution_points[].full_name.

Пример: /CN=example.com.

digest

string

Хеш-функция, используемая при подписании запроса на подпись сертификата закрытым ключом.

По умолчанию: "sha256"

email_address

псевдонимы: E, emailAddress

string

Поле emailAddress субъекта запроса на подпись сертификата.

extended_key_usage

псевдонимы: extKeyUsage, extendedKeyUsage

list / elements=string

Дополнительные ограничения (например, аутентификация клиента или сервера) на допустимые цели использования открытого ключа.

extended_key_usage_critical

псевдонимы: extKeyUsage_critical, extendedKeyUsage_critical

boolean

Следует ли считать расширение extkeyUsage критическим.

Варианты:

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

key_usage

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

list / elements=string

Определяет назначение ключа, содержащегося в сертификате (например, шифрование, создание подписи или подписание сертификатов).

key_usage_critical

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

boolean

Следует ли считать расширение keyUsage критическим.

Варианты:

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

locality_name

псевдонимы: L, localityName

string

Поле localityName субъекта запроса на подпись сертификата.

name_constraints_critical

boolean

Следует ли считать расширение ограничений имён критическим.

Варианты:

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

name_constraints_excluded

list / elements=string

Для сертификатов центров сертификации указывает список идентификаторов, описывающих поддеревья имён, для которых этому центру сертификации не разрешено выдавать сертификаты.

Перед значениями должны указываться соответствующие параметры. (То есть email, URI, DNS, RID, IP, dirName, otherName и параметры, специфичные для вашего центра сертификации).

name_constraints_permitted

list / elements=string

Для сертификатов центров сертификации указывает список идентификаторов, описывающих поддеревья имён, для которых этому центру сертификации разрешено выдавать сертификаты.

Перед значениями должны указываться соответствующие параметры. (То есть email, URI, DNS, RID, IP, dirName, otherName и параметры, специфичные для вашего центра сертификации).

ocsp_must_staple

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

boolean

Указывает, что сертификат должен содержать расширение OCSP Must Staple (https://tools.ietf.org/html/rfc7633).

Варианты:

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

ocsp_must_staple_critical

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

boolean

Следует ли считать расширение OCSP Must Staple критическим.

Обратите внимание: согласно RFC это расширение не следует помечать как критическое, поскольку старые клиенты, не поддерживающие OCSP Must Staple, должны отклонять такие сертификаты (см. https://tools.ietf.org/html/rfc7633#section-4).

Варианты:

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

organization_name

псевдонимы: O, organizationName

string

Поле organizationName субъекта запроса на подпись сертификата.

organizational_unit_name

псевдонимы: OU, organizationalUnitName

string

Поле organizationalUnitName субъекта запроса на подпись сертификата.

privatekey_content

string

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

Необходимо указать либо privatekey_path, либо privatekey_content, но не оба параметра одновременно.

privatekey_passphrase

string

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

Обязательна, если закрытый ключ защищён паролем.

privatekey_path

path

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

Необходимо указать либо privatekey_path, либо privatekey_content, но не оба параметра одновременно.

select_crypto_backend

string

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

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

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

Обратите внимание, что в community.crypto 3.0.0 все значения работают одинаково. В более поздней версии этот параметр будет объявлен устаревшим. Рекомендуется не задавать его явно.

Варианты:

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

state_or_province_name

псевдонимы: ST, stateOrProvinceName

string

Поле stateOrProvinceName субъекта запроса на подпись сертификата.

subject

dictionary

Пары ключ/значение, которые будут указаны в поле имени субъекта запроса на подпись сертификата.

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

Если важен порядок компонентов, используйте subject_ordered.

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

subject_alt_name

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

list / elements=string

Расширение альтернативного имени субъекта (SAN), добавляемое в запрос на подпись сертификата.

Перед значениями должны указываться соответствующие параметры. (Это email, URI, DNS, RID, IP, dirName, otherName и параметры, специфичные для вашего центра сертификации).

Обратите внимание: если SAN не указан, но указано общее имя, общее имя будет добавлено как SAN, кроме случая, когда для use_common_name_for_san задано значение false.

Подробнее: https://tools.ietf.org/html/rfc5280#section-4.2.1.6.

subject_alt_name_critical

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

boolean

Следует ли считать расширение subjectAltName критическим.

Варианты:

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

subject_key_identifier

string

Идентификатор ключа субъекта в виде шестнадцатеричной строки, в которой два байта разделены двоеточиями.

Пример: 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:22:33.

Обратите внимание, что коммерческие центры сертификации игнорируют это значение или используют собственное. Указание этого параметра полезно главным образом для самоподписанных сертификатов или собственных центров сертификации.

Обратите внимание, что этот параметр можно использовать, только если для create_subject_key_identifier задано значение false.

subject_ordered

list / elements=dictionary

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

Список словарей, каждый из которых должен содержать одну пару ключ/значение. Эта пара ключ/значение будет указана в поле имени субъекта запроса на подпись сертификата.

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

Несовместим с subject и любым другим параметром поля субъекта, например country_name, state_or_province_name, locality_name, organization_name, organizational_unit_name, common_name или email_address.

use_common_name_for_san

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

boolean

Если задано значение true, модуль добавит общее имя в subject_alt_name с префиксом DNS:, если SAN не указан.

Варианты:

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

version

integer

Версия запроса на подписание сертификата.

Единственное допустимое значение согласно RFC 2986 — 1.

Начиная с community.crypto 2.0.0 этот параметр больше не принимает неподдерживаемые значения.

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

Начиная с community.crypto 3.0.0 модуль игнорирует режим проверки и всегда работает так, как если бы режим проверки был отключён.

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

diff_mode

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

В режиме сравнения будут возвращены сведения об изменениях (или о том, что, возможно, требуется изменить в check_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).

Возвращается: при изменении или успешном выполнении

Пример: ["CA:TRUE", "pathLenConstraint:0"]

csr

string

Содержимое (текущего или созданного) CSR.

Возвращается: при изменении или успешном выполнении

extendedKeyUsage

list / elements=string

Дополнительное ограничение на назначение открытого ключа.

Возвращается: при изменении или успешном выполнении

Пример: ["clientAuth"]

keyUsage

list / elements=string

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

Возвращается: при изменении или успешном выполнении

Пример: ["digitalSignature", "keyAgreement"]

name_constraints_excluded

list / elements=string

Список исключённых поддеревьев, для которых центр сертификации не может подписывать сертификаты.

Возвращается: при изменении или успешном выполнении

Пример: ["email:.com"]

name_constraints_permitted

list / elements=string

Список разрешённых поддеревьев, для которых можно подписывать сертификаты.

Возвращается: при изменении или успешном выполнении

Пример: ["email:.somedomain.com"]

ocsp_must_staple

boolean

Указывает, включена ли в сертификате функция OCSP Must Staple.

Возвращается: при изменении или успешном выполнении

Пример: false

privatekey

string

Путь к закрытому ключу TLS/SSL, для которого был создан CSR.

Будет none, если закрытый ключ был предоставлен в privatekey_content.

Возвращается: при изменении или успешном выполнении

Пример: "/etc/ssl/private/ansible.com.pem"

subject

list / elements=list

Список кортежей subject, включённых в CSR.

Возвращается: при изменении или успешном выполнении

Пример: [["CN", "www.ansible.com"], ["O", "Ansible"]]

subjectAltName

list / elements=string

Альтернативные имена, для которых действителен этот CSR.

Возвращается: при изменении или успешном выполнении

Пример: ["DNS:www.ansible.com", "DNS:m.ansible.com"]

Авторы

  • Yanis Guenane (@Spredzy)
  • 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/openssl_csr_pipe_module.html

Spec-Zone.ru

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