community.crypto.x509_crl – Генерация списков отозванных сертификатов (CRLs)
Примечание
Этот плагин входит в коллекцию community.crypto (версия 1.4.0).
Для его установки используйте: ansible-galaxy collection install community.crypto.
Для использования в плейбуке укажите: community.crypto.x509_crl.
Новое в версии 1.0.0: of community.crypto
Описание
- Этот модуль позволяет (пере)генерировать или обновить списки отозванных сертификатов (CRLs).
- Сертификаты в списке отзыва могут быть указаны по серийному номеру и (необязательно) их издателю или в виде пути к файлу сертификата в формате PEM.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- cryptography >= 1.2
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| attributes строка добавлен в 2.3 ansible.builtin | Атрибуты, которые должны быть у полученного файла или директории. Для получения поддерживаемых флагов см. страницу справки chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображает lsattr. Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.псевдонимы: attr | ||
| backup логическое значение |
| Создать резервный файл, включая отметку времени, чтобы вы могли получить исходный CRL, если случайно перезаписали его новым. | |
| digest строка | По умолчанию: "sha256" | Алгоритм хеширования, который будет использоваться при подписи CRL. | |
| force логическое значение |
| Необходимо ли принудительно перегенерировать CRL. | |
| format строка |
| В формате PEM или DER должен быть файл CRL. Если существующий файл CRL соответствует всем параметрам, кроме format, он будет преобразован в правильный формат вместо перегенерации. | |
| group строка | Имя группы, которая должна владеть файлом/директорией, как передается в chown. | ||
| ignore_timestamps логическое значение |
| Игнорировать ли отметки времени last_update, next_update и revocation_date (в revoked_certificates) для проверок идемпотентности. Отметка времени invalidity_date в revoked_certificates никогда не будет игнорироваться. Используйте это в сочетании с относительными отметками времени для этих значений, чтобы получить идемпотентность. | |
| issuer словарь | Ключевые пары, которые будут присутствовать в поле имени издателя CRL. Если вам нужно указать более одного значения с одним ключом, используйте список в качестве значения. Требуется, если state равен present. | ||
| last_update строка | По умолчанию: "+0s" | Момент времени, с которого можно доверять этому CRL. Время можно указать как относительное время, так и абсолютную отметку времени. Время всегда будет интерпретироваться как UTC. Формат: [+-]timespec | ASN.1 TIME, где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).Обратите внимание, что если используется относительное время, этот модуль НЕ идемпотентен, за исключением случаев, когда ignore_timestamps установлено в yes. | |
| mode строка |
| Определяет, как обрабатывать записи существующих CRL. Если установлено значение generate, убедитесь, что CRL содержит точный набор отозванных сертификатов, указанных в revoked_certificates.Если установлено значение update, убедитесь, что CRL содержит отозванные сертификаты из revoked_certificates, но также может содержать и другие отозванные сертификаты. Если файл CRL уже существует, все записи из существующего CRL также будут включены в новый CRL. При использовании update, вы можете быть заинтересованы в установке ignore_timestamps в yes. | |
| next_update строка | Абсолютная последняя точка во времени, до которой ожидается, что issuer выпустит другой CRL. Многие клиенты будут рассматривать CRL как истекший, как только наступит next_update. Время можно указать как относительное время, так и абсолютную отметку времени. Время всегда будет интерпретироваться как UTC. Формат: [+-]timespec | ASN.1 TIME, где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).Обратите внимание, что если используется относительное время, этот модуль НЕ идемпотентен, за исключением случаев, когда ignore_timestamps установлено в yes. Требуется, если state равен present. | ||
| owner строка | Имя пользователя, который должен владеть файлом/директорией, как передается в chown. | ||
| path путь / обязательно | Удаленный абсолютный путь, где должен быть создан или уже находится генерируемый файл CRL. | ||
| privatekey_content строка | Содержимое закрытого ключа CA, используемого при подписи CRL. Если state равен present, необходимо указать либо privatekey_path, либо privatekey_content, но не оба. | ||
| privatekey_passphrase строка | Пароль для privatekey_path. Это необходимо, если закрытый ключ защищен паролем. | ||
| privatekey_path путь | Путь к закрытому ключу CA, используемому при подписи CRL. Если state равен present, необходимо указать либо privatekey_path, либо privatekey_content, но не оба. | ||
| return_content логическое значение |
| Если установлено значение yes, будет возвращено содержимое (текущего или сгенерированного) CRL в качестве crl. | |
| revoked_certificates список / элементы=словарь | Список сертификатов, которые необходимо отозвать. Требуется, если state равен present. | ||
| content строка | Содержимое сертификата в формате PEM. Серийный номер и издатель будут извлечены из сертификата. Взаимоисключающие с path и serial_number. Один из этих трех параметров должен быть указан. | ||
| invalidity_date строка | Момент времени, когда стало известно/предполагалось, что закрытый ключ был скомпрометирован или сертификат стал недействительным по другим причинам. Время можно указать как относительное время, так и абсолютную отметку времени. Время всегда будет интерпретироваться как UTC. Формат: [+-]timespec | ASN.1 TIME, где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).Обратите внимание, что если используется относительное время, этот модуль НЕ идемпотентен. Это не изменится, когда ignore_timestamps установлено в yes. | ||
| invalidity_date_critical логическое значение |
| Является ли расширение даты недействительности критическим. | |
| issuer список / элементы=строка | Издатель сертификата. Пример: DNS:ca.example.org
| ||
| issuer_critical логическое значение |
| Является ли расширение издателя сертификата критическим. | |
| path путь | Путь к сертификату в формате PEM. Серийный номер и издатель будут извлечены из сертификата. Взаимоисключающие с content и serial_number. Один из этих трех параметров должен быть указан. | ||
| reason строка |
| Значение для расширения причины отозвания. | |
| reason_critical логическое значение |
| Является ли расширение причины отозвания критическим. | |
| revocation_date строка | По умолчанию: "+0s" | Момент времени отозвания сертификата. Время можно указать как относительное время, так и абсолютную отметку времени. Время всегда будет интерпретироваться как UTC. Формат: [+-]timespec | ASN.1 TIME, где timespec может быть целым числом + [w | d | h | m | s] (например, +32w1d2h).Обратите внимание, что если используется относительное время, этот модуль НЕ идемпотентен, за исключением случаев, когда ignore_timestamps установлено в yes. | |
| serial_number целое число | Серийный номер сертификата. Взаимоисключающие с path и content. Один из этих трех параметров должен быть указан. | ||
| selevel строка | Часть уровня SELinux контекста файла. Это атрибут MLS/MCS, иногда известный как range. Если установлено значение _default, будет использоваться часть политики level, если она доступна. | ||
| serole строка | Часть контекста файла SELinux, отвечающая за роль. При установке в _default, будет использоваться часть политики role, если она доступна. | ||
| setype строка | Часть контекста файла SELinux, отвечающая за тип. При установке в _default, будет использоваться часть политики type, если она доступна. | ||
| seuser строка | Часть контекста файла SELinux, отвечающая за пользователя. По умолчанию используется политика system, если применимо.При установке в _default, будет использоваться часть политики user, если она доступна. | ||
| state строка |
| Указывает, должен ли файл CRL существовать или нет, выполняя действия, если состояние отличается от указанного. | |
| unsafe_writes булево добавлен в 2.2 модуля ansible.builtin |
| Влияет на использование атомных операций для предотвращения повреждения данных или несогласованных чтений из целевого файла. По умолчанию этот модуль использует атомные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные в Docker, которые не могут обновляться атомарно изнутри контейнера и могут записываться только небезопасным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомные операции терпят неудачу (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены проблемам гонки и могут привести к повреждению данных. | |
Примечания
Примечание
- Все значения ASN.1 TIME должны быть указаны в формате YYYYMMDDHHMMSSZ.
- Указанная дата должна быть в формате UTC. Минуты и секунды обязательны.
- Поддерживает
check_mode.
Примеры
- 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 yes
| Имя созданного файла резервной копии. Пример: /path/to/my-ca.crl.2019-03-09@11:22~ | |
| crl строка | если state present и return_content yes
| Содержание файла CRL (текущее или сгенерированное). Будет содержать сам CRL, если format pem, и Base64 CRL, если format der. | |
| digest строка | успех | Алгоритм подписи, используемый для подписи CRL. Пример: sha256WithRSAEncryption | |
| filename строка | изменено или успех | Путь к сгенерированному файлу CRL. Пример: /path/to/my-ca.crl | |
| format строка | успех | Формат CRL (PEM ( pem) или DER (der)). Пример: pem | |
| issuer словарь | успех | Эмитент CRL. Обратите внимание, что для повторяющихся значений возвращается только последнее. Пример: {"organizationName": "Ansible", "commonName": "ca.example.com"} | |
| 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 булево | успех | Является ли расширение даты недействительности критическим. | |
| issuer список / элементы=строка | успех | Эмитент сертификата. Пример: ["DNS:ca.example.org"] | |
| issuer_critical булево | успех | Является ли расширение эмитента сертификата критическим. | |
| reason строка | успех | Значение расширения причины отзыва. Одно из unspecified, key_compromise, ca_compromise, affiliation_changed, superseded, cessation_of_operation, certificate_hold, privilege_withdrawn, aa_compromise, и remove_from_crl.Пример: key_compromise | |
| reason_critical булево | успех | Является ли расширение причины отзыва критическим. | |
| revocation_date строка | успех | Точка времени отзыва сертификата (ASN.1 TIME). Пример: 20190413202428Z | |
| serial_number целое число | успех | Серийный номер сертификата. Пример: 1234 | |
Авторы
- Felix Fontein (@felixfontein)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/crypto/x509_crl_module.html