Spec-Zone.ru › Ansible 2.5

openssl_csr - Генерация запроса на подпись сертификата OpenSSL (CSR)

Новая версия 2.4.

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

Описание

  • Этот модуль позволяет (пере)генерировать запросы на подпись сертификатов OpenSSL. Он использует библиотеку pyOpenSSL для взаимодействия с openssl. Модуль поддерживает расширения subjectAltName, keyUsage, extendedKeyUsage, basicConstraints и OCSP Must Staple.

Требования

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

  • python-pyOpenSSL >= 0.15

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
(добавлено в 2.3)
По умолчанию:
Нет
Атрибуты, которые должен иметь файл или директория. Чтобы получить список поддерживаемых флагов, посмотрите страницу man для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображается командой lsattr.

псевдонимы: attr
basic_constraints
(добавлено в 2.5)
Указывает базовые ограничения, такие как является ли сертификат центром сертификации.

псевдонимы: basicConstraints
basic_constraints_critical
(добавлено в 2.5)
Должен ли расширение basicConstraints рассматриваться как критическое

псевдонимы: basicConstraints_critical
common_name
Поле commonName в запросе на подписание сертификата (subject)

псевдонимы: CN, commonName
country_name
Поле countryName в запросе на подписание сертификата (subject)

псевдонимы: C, countryName
digest По умолчанию:
sha256
Хеш-функция, используемая при подписании запроса на подписание сертификата с помощью закрытого ключа
email_address
Поле emailAddress в запросе на подписание сертификата (subject)

псевдонимы: E, emailAddress
extended_key_usage
Дополнительные ограничения (например, проверка подлинности клиента, проверка подлинности сервера) на допустимые цели, для которых может использоваться открытый ключ.
Это может быть либо строка со значениями, разделенными запятыми, либо список YAML.

псевдонимы: extKeyUsage, extendedKeyUsage
extended_key_usage_critical
Должен ли расширение extkeyUsage рассматриваться как критическое

псевдонимы: extKeyUsage_critical, extendedKeyUsage_critical
force
    Варианты:
  • yes
  • нет ←
По умолчанию:
нет
Запросить повторное создание запроса на подписание сертификата этим модулем Ansible
group По умолчанию:
Нет
Имя группы, которая должна владеть файлом/директорией, как это передается в команду chown.
key_usage
Определяет назначение (например, шифрование, цифровая подпись, подпись сертификата) ключа, содержащегося в сертификате.
Это может быть либо строка со значениями, разделенными запятыми, либо список YAML.

псевдонимы: keyUsage
key_usage_critical
Должен ли расширение keyUsage рассматриваться как критическое

псевдонимы: keyUsage_critical
locality_name
Поле localityName в запросе на подписание сертификата (subject)

псевдонимы: L, localityName
mode По умолчанию:
Нет
Режим файла или директории. Для тех, кто знаком с командой /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644 или 01777). Опускание ведущего нуля может привести к непредвиденным результатам. Начиная с версии 1.8, режим может быть указан в символической форме (например, u+rwx или u=rw,g=r,o=r).
ocsp_must_staple
(добавлено в 2.5)
Указывает, что сертификат должен содержать расширение OCSP Must Staple (https://tools.ietf.org/html/rfc7633).

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

псевдонимы: ocspMustStaple_critical
organization_name
Поле organizationName в запросе на подписание сертификата (subject)

псевдонимы: O, organizationName
organizational_unit_name
Поле organizationalUnitName в запросе на подписание сертификата (subject)

псевдонимы: OU, organizationalUnitName
owner По умолчанию:
Нет
Имя пользователя, который должен владеть файлом/директорией, как это передается в команду chown.
path
обязательно
Имя файла, в который будет записан сгенерированный запрос на подписание сертификата OpenSSL.
privatekey_passphrase
Пароль к закрытому ключу.
privatekey_path
обязательно
Путь к закрытому ключу, который будет использован для подписи запроса на подписание сертификата
selevel По умолчанию:
s0
Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. _default функция работает, как и для seuser.
serole По умолчанию:
Нет
Часть роли контекста файла SELinux, _default функция работает, как и для seuser.
setype По умолчанию:
Нет
Часть типа контекста файла SELinux, _default функция работает, как и для seuser.
seuser По умолчанию:
Нет
Часть пользователя контекста файла SELinux. Будет по умолчанию использовать политику системы, если применимо. Если установлено _default, будет использоваться user часть политики, если доступна.
state
    Варианты:
  • present ←
  • absent
Указывает, должен ли запрос на подписание сертификата существовать или нет, выполняя действия, если состояние отличается от указанного.
state_or_province_name
Поле stateOrProvinceName в запросе на подписание сертификата (subject)

псевдонимы: ST, stateOrProvinceName
subject
(добавлено в 2.5)
Ключ/значение пары, которые будут присутствовать в поле имени субъекта запроса на подписание сертификата.
Если вам нужно указать более одного значения с одним и тем же ключом, используйте список в качестве значения.
subject_alt_name
Расширение SAN для добавления в запрос на подписание сертификата
Это может быть либо строка со значениями, разделенными запятыми, либо список YAML.
Значения должны быть с префиксом соответствующей опции (например, email, URI, DNS, RID, IP, dirName, otherName и те, которые специфичны для вашего ЦС).
Подробнее на https://tools.ietf.org/html/rfc5280#section-4.2.1.6

псевдонимы: subjectAltName
subject_alt_name_critical
Должен ли расширение subjectAltName рассматриваться как критическое

псевдонимы: subjectAltName_critical
unsafe_writes
(добавлено в 2.2)
    Варианты:
  • нет ←
  • да
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов. Иногда системы настроены или просто неисправны таким образом, что это невозможно. Один пример — файлы, смонтированные через Docker, они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом.
Этот логический параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда нет другого выбора. Следует учитывать возможность гонок и повреждения данных.
version По умолчанию:
1
Версия запроса на подписание сертификата

Примечания

Примечание

  • Если запрос на подписание сертификата уже существует, будет проверено, содержат ли subjectAltName, keyUsage, extendedKeyUsage и basicConstraints только запрошенные значения, является ли OCSP Must Staple таким, как требуется, и был ли запрос подписан указанным закрытым ключом.

Примеры

# Generate an OpenSSL Certificate Signing Request
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    common_name: www.ansible.com

# Generate an OpenSSL Certificate Signing Request with a
# passphrase protected private key
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    privatekey_passphrase: ansible
    common_name: www.ansible.com

# Generate an OpenSSL Certificate Signing Request with Subject information
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    country_name: FR
    organization_name: Ansible
    email_address: jdoe@ansible.com
    common_name: www.ansible.com

# Generate an OpenSSL Certificate Signing Request with subjectAltName extension
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    subject_alt_name: 'DNS:www.ansible.com,DNS:m.ansible.com'

# Force re-generate an OpenSSL Certificate Signing Request
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    force: True
    common_name: www.ansible.com

# Generate an OpenSSL Certificate Signing Request with special key usages
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    common_name: www.ansible.com
    key_usage:
      - digitalSignature
      - keyAgreement
    extended_key_usage:
      - clientAuth

# Generate an OpenSSL Certificate Signing Request with OCSP Must Staple
- openssl_csr:
    path: /etc/ssl/csr/www.ansible.com.csr
    privatekey_path: /etc/ssl/private/ansible.com.pem
    common_name: www.ansible.com
    ocsp_must_staple: true

Значения возврата

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

Ключ Возвращаемое значение Описание
basicConstraints
список
изменённое или успешно
Указывает, принадлежит ли сертификат центру сертификации

Пример:
['CA:TRUE', 'pathLenConstraint:0']
extendedKeyUsage
список
изменённое или успешно
Дополнительные ограничения на назначение открытого ключа

Пример:
['clientAuth']
filename
строка
изменённое или успешно
Путь к сгенерированному запросу на подписание сертификата

Пример:
/etc/ssl/csr/www.ansible.com.csr
keyUsage
список
изменённое или успешно
Назначение, для которого может использоваться открытый ключ

Пример:
['digitalSignature', 'keyAgreement']
ocsp_must_staple
булево
изменённое или успешно
Указывает, включена ли функция OCSP Must Staple для сертификата

privatekey
строка
изменённое или успешно
Путь к приватному ключу TLS/SSL, для которого был сгенерирован запрос

Пример:
/etc/ssl/private/ansible.com.pem
subject
список
изменённое или успешно
Список кортежей субъекта, прикреплённых к запросу

Пример:
[('CN', 'www.ansible.com'), ('O', 'Ansible')]
subjectAltName
список
изменённое или успешно
Альтернативные имена, для которых этот запрос действителен

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


Статус

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

Автор

  • Yanis Guenane (@Spredzy)

Подсказка

Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/openssl_csr_module.html

Spec-Zone.ru

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