Spec-Zone.ru › Ansible

community.crypto.x509_crl модуль — Генерация списков отозванных сертификатов (CRL)

Примечание

Этот модуль входит в коллекцию community.crypto (версия 2.22.1).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля требуются дополнительные компоненты. Подробности см. в разделе Требования.

Для использования в книге задач укажите: community.crypto.x509_crl.

Новая версия в community.crypto 1.0.0

  • Описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Значения возврата

Описание

  • Этот модуль позволяет (пере)генерировать или обновлять списки отозванных сертификатов (CRL).
  • Сертификаты в списке отозванных сертификатов могут быть указаны по серийному номеру и (необязательно) их издателю или как путь к файлу сертификата в формате PEM.

Требования

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

  • Если name_encoding установлено не равно ignore, необходимо установить библиотеку idna Python.
  • cryptography >= 1.2

Параметры

Параметр

Комментарии

attributes

aliases: attr

string

Атрибуты, которыми должен обладать результирующий объект файловой системы.

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

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

Оператор = принимается по умолчанию, в противном случае необходимо включить операторы + или - в строку.

backup

boolean

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

Варианты:

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

crl_mode

string

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

Определяет, как обрабатывать записи существующих CRL.

Если установлено значение generate, убедитесь, что CRL имеет точно такой же набор отозванных сертификатов, как указано в revoked_certificates.

Если установлено значение update, убедитесь, что CRL содержит отозванные сертификаты из revoked_certificates, но также может содержать другие отозванные сертификаты. Если файл CRL уже существует, все записи из существующего CRL также будут включены в новый CRL. При использовании update, вы можете установить ignore_timestamps в true.

Значение по умолчанию — generate.

Этот параметр назывался mode до community.crypto 2.13.0. Он был переименован во избежание коллизии с общим параметром mode для установки режима доступа к файлу CRL.

Варианты:

  • "generate"
  • "update"

digest

string

Алгоритм дайджеста, используемый при подписании CRL.

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

force

boolean

Следует ли принудительно перегенерировать CRL.

Варианты:

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

format

string

Должен ли файл CRL быть в формате PEM или DER.

Если существующий файл CRL соответствует всему, кроме format, он будет преобразован в правильный формат вместо перегенерации.

Варианты:

  • "pem" ← (по умолчанию)
  • "der"

group

string

Имя группы, которой должен принадлежать объект файловой системы, как это передается в chown.

Если не указано, используется текущая группа текущего пользователя, если вы не являетесь root, в этом случае он может сохранить предыдущее владение.

ignore_timestamps

boolean

Следует ли игнорировать метки времени last_update, next_update и revoked_certificates[].revocation_date для проверок идемпотентности. Метка времени revoked_certificates[].invalidity_date никогда не будет игнорироваться.

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

Варианты:

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

issuer

dictionary

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

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

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

Один из issuer и issuer_ordered обязателен, если state равно present.

Взаимоисключающий с issuer_ordered.

issuer_ordered

list / elements=dictionary

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

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

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

Один из issuer и issuer_ordered обязателен, если state равно present.

Взаимоисключающий с issuer.

last_update

string

Момент времени, с которого можно доверять этому CRL.

Время может быть указано как относительное время или как абсолютная метка времени.

Время всегда интерпретируется как UTC.

Допустимый формат — [+-]timespec | ASN.1 TIME, где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).

Обратите внимание, что при использовании относительного времени этот модуль НЕ идемпотентен, за исключением случая, когда ignore_timestamps установлен в true.

По умолчанию: "+0s"

mode

string

Этот параметр был переименован в crl_mode. Старое имя mode теперь устарело и будет удалено в community.crypto 3.0.0. Замените использование этого параметра на crl_mode.

Обратите внимание, что начиная с community.crypto 3.0.0, mode будет использоваться для режима файла CRL.

Варианты:

  • "generate"
  • "update"

name_encoding

string

Как кодировать имена (DNS-имена, URI, адреса электронной почты) в возвращаемых значениях.

ignore будет использовать кодировку, возвращаемую серверной частью.

idna преобразует все метки доменных имен в кодировку IDNA. Будет отдаваться предпочтение IDNA2008, а IDNA2003 будет использоваться, если кодировка IDNA2008 завершится неудачей.

unicode преобразует все метки доменных имен в Unicode. Будет отдаваться предпочтение IDNA2008, а IDNA2003 будет использоваться, если декодирование IDNA2008 завершится неудачей.

Примечание: idna и unicode требуют установки библиотеки idna Python.

Варианты:

  • "ignore" ← (по умолчанию)
  • "idna"
  • "unicode"

next_update

строка

Абсолютная последняя точка времени, к которой ожидается, что этот issuer выпустит другой CRL. Многие клиенты будут считать CRL истекшим, как только next_update произойдёт.

Время может быть указано как относительное время, так и как абсолютная метка времени.

Время всегда будет интерпретироваться как UTC.

Допустимый формат [+-]timespec | ASN.1 TIME, где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).

Обратите внимание, что если используется относительное время, этот модуль НЕ идемпотентен, за исключением случаев, когда ignore_timestamps установлено в значение true.

Требуется, если state равно present.

owner

строка

Имя пользователя, который должен владеть файловой системой объекта, как это передаётся в chown.

Если не указано, используется текущий пользователь, если вы не являетесь root, в этом случае он может сохранить предыдущее владение.

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

path

путь / обязательный

Удаленный абсолютный путь, где должен быть создан сгенерированный файл CRL или где он уже находится.

privatekey_content

строка

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

Должно быть указано либо privatekey_path, либо privatekey_content, если state равно present, но не оба.

privatekey_passphrase

строка

Пароль для privatekey_path.

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

privatekey_path

путь

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

Должно быть указано либо privatekey_path, либо privatekey_content, если state равно present, но не оба.

return_content

логическое

Если установлено в значение true, возвращает содержимое CRL (текущее или сгенерированное) как crl.

Варианты:

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

revoked_certificates

список / элементы=словарь

Список сертификатов, которые должны быть отозваны.

Требуется, если state равно present.

content

строка

Содержимое сертификата в формате PEM.

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

Взаимоисключающие с revoked_certificates[].path и revoked_certificates[].serial_number. Один из этих трех вариантов должен быть указан.

invalidity_date

строка

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

Время может быть указано как относительное время, так и как абсолютная метка времени.

Допустимый формат [+-]timespec | ASN.1 TIME, где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).

Обратите внимание, что если используется относительное время, этот модуль НЕ идемпотентен. Это НЕ изменится, когда ignore_timestamps установлено в значение true.

invalidity_date_critical

логическое

Является ли расширение даты недействительности критичным.

Варианты:

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

issuer

список / элементы=строка

Издатель сертификата.

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

issuer_critical

логическое

Является ли расширение издателя сертификата критическим.

Варианты:

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

path

путь

Путь к сертификату в формате PEM.

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

Взаимоисключающие с revoked_certificates[].content и revoked_certificates[].serial_number. Один из этих трех вариантов должен быть указан.

reason

строка

Значение расширения причины отзыва.

Варианты:

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

reason_critical

логическое

Является ли расширение причины отзыва критическим.

Варианты:

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

revocation_date

string

Время отзыва сертификата.

Время может быть указано как относительное время, так и как абсолютная временная метка.

Время всегда интерпретируется как UTC.

Допустимый формат — [+-]timespec | ASN.1 TIME, где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).

Обратите внимание, что при использовании относительного времени этот модуль НЕ идемпотентен, за исключением случаев, когда ignore_timestamps установлено в true.

По умолчанию: "+0s"

serial_number

any

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

Взаимоисключительно с revoked_certificates[].path и revoked_certificates[].content. Должен быть указан один из этих трех параметров.

Этот параметр принимает целые числа или шестнадцатеричные строки байтов, в зависимости от значения serial_numbers.

Если serial_numbers=integer, должны быть указаны целые числа, например 66223.

Если serial_numbers=hex-octets, должны быть указаны строки, например 01:02:AF.

Для преобразования этих двух представлений можно использовать фильтры community.crypto.parse_serial и community.crypto.to_serial.

selevel

string

Часть уровня SELinux контекста объекта файловой системы.

Это атрибут MLS/MCS, иногда называемый range.

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

serial_numbers

string

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

Этот параметр определяет, какие значения будут приняты для revoked_certificates[].serial_number.

Если установлено в integer (по умолчанию), серийные номера предполагаются целыми числами, например 66223. (Это примерное значение эквивалентно шестнадцатеричной строке байтов 01:02:AF.)

Если установлено в hex-octets, серийные номера предполагаются шестнадцатеричными строками байтов, разделёнными двоеточиями, например 01:02:AF. (Это примерное значение эквивалентно целому числу 66223.)

Доступные значения:

  • "integer" ← (по умолчанию)
  • "hex-octets"

serole

string

Часть роли контекста объекта файловой системы SELinux.

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

setype

string

Часть типа контекста объекта файловой системы SELinux.

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

seuser

string

Часть пользователя контекста объекта файловой системы SELinux.

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

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

state

string

Существует ли файл CRL или нет, выполняя действия, если состояние отличается от указанного.

Доступные значения:

  • "absent"
  • "present" ← (по умолчанию)

unsafe_writes

boolean

Влияет на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из целевого объекта файловой системы.

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

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

ВАЖНО! Небезопасные записи подвержены проблемам гонок и могут привести к повреждению данных.

Доступные значения:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

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

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

diff_mode

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

Вернет подробности о том, что изменилось (или, возможно, нуждается в изменении в check_mode), при работе в режиме diff.

safe_file_operations

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

Использует строгие функции обработки файлов Ansible для обеспечения правильных разрешений и предотвращения повреждения данных.

Примечания

Примечание

  • Все значения ASN.1 TIME должны быть указаны в формате YYYYMMDDHHMMSSZ.
  • Указанная дата должна быть в формате UTC. Минуты и секунды обязательны.

См. также

См. также

community.crypto.parse_serial плагин фильтра

Преобразовать серийный номер в виде списка шестнадцатеричных чисел, разделённых двоеточиями, в целое число.

community.crypto.to_serial плагин фильтра

Преобразовать целое число в список шестнадцатеричных чисел, разделённых двоеточиями.

Примеры

- name: Generate a CRL
  community.crypto.x509_crl:
    path: /etc/ssl/my-ca.crl
    privatekey_path: /etc/ssl/private/my-ca.pem
    issuer:
      CN: My CA
    last_update: "+0s"
    next_update: "+7d"
    revoked_certificates:
      - serial_number: 1234
        revocation_date: 20190331202428Z
        issuer:
          CN: My CA
      - serial_number: 2345
        revocation_date: 20191013152910Z
        reason: affiliation_changed
        invalidity_date: 20191001000000Z
      - path: /etc/ssl/crt/revoked-cert.pem
        revocation_date: 20191010010203Z

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

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

Ключ

Описание

backup_file

строка

Имя созданного файла резервной копии.

Возвращается: изменён и если backup является true

Пример: "/path/to/my-ca.crl.2019-03-09@11:22~"

crl

строка

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

Будет самим списком CRL, если format является pem, и Base64-кодированием списка CRL, если format является der.

Возвращается: если state является present и return_content является true

digest

строка

Алгоритм подписи, используемый для подписи списка CRL.

Возвращается: успех

Пример: "sha256WithRSAEncryption"

filename

строка

Путь к сгенерированному списку CRL.

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

Пример: "/path/to/my-ca.crl"

format

строка

Формат списка CRL: PEM (pem) или DER (der).

Возвращается: успех

Может возвращать только:

  • "pem"
  • "der"

Пример: "pem"

issuer

словарь

Эмитент списка CRL.

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

См. name_encoding для обработки IDN.

Возвращается: успех

Пример: {"commonName": "ca.example.com", "organizationName": "Ansible"}

issuer_ordered

список / элементы=список

Эмитент списка CRL в виде упорядоченного списка кортежей.

Возвращается: успех

Пример: [["organizationName", "Ansible"], [{"commonName": "ca.example.com"}]]

last_update

строка

Момент времени, с которого этот список CRL можно считать надёжным в формате ASN.1 TIME.

Возвращается: успех

Пример: "20190413202428Z"

next_update

строка

Момент времени, с которого будет выпущен новый список CRL, и клиент должен проверить его в формате ASN.1 TIME.

Возвращается: успех

Пример: "20190413202428Z"

privatekey

строка

Путь к закрытому ключу CA.

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

Пример: "/path/to/my-ca.pem"

revoked_certificates

список / элементы=словарь

Список сертификатов, подлежащих аннулированию.

Возвращается: успех

invalidity_date

строка

Момент времени, когда стало известно/предполагалось, что закрытый ключ скомпрометирован или сертификат по иным причинам стал недействительным в формате ASN.1 TIME.

Возвращается: успех

Пример: "20190413202428Z"

invalidity_date_critical

логическое значение

Является ли расширение даты недействительности критическим.

Возвращается: успех

Пример: false

issuer

список / элементы=строка

Эмитент сертификата.

См. name_encoding для обработки IDN.

Возвращается: успех

Пример: ["DNS:ca.example.org"]

issuer_critical

логическое значение

Является ли расширение эмитента сертификата критическим.

Возвращается: успех

Пример: false

причина

строка

Значение расширения причины аннулирования.

Возвращается при: успех

Возможные значения:

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

Пример: "key_compromise"

причина_критическая

булево

Является ли расширение причины аннулирования критическим.

Возвращается при: успех

Пример: false

дата_аннулирования

строка

Момент времени аннулирования сертификата в формате ASN.1 TIME.

Возвращается при: успех

Пример: "20190413202428Z"

номер_серийный

целое

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

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

Возвращается при: успех

Пример: 1234

Авторы

  • Felix Fontein (@felixfontein)

Ссылки на коллекцию

  • Система отслеживания задач
  • Репозиторий (исходные коды)
  • Задать вопрос (crypto)
  • Задать вопрос (ACME)
  • Отправить отчет об ошибке
  • Запросить новую функцию
  • Связь

© 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/x509_crl_module.html

Spec-Zone.ru

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