community.crypto.openssl_pkcs12 – Генерация архива OpenSSL PKCS#12
Примечание
Этот плагин входит в коллекцию community.crypto (версия 1.4.0).
Для его установки используйте: ansible-galaxy collection install community.crypto.
Для использования в плейбуке укажите: community.crypto.openssl_pkcs12.
Обзор
- Этот модуль позволяет (пере-)генерировать PKCS#12.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- python-pyOpenSSL
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| action строка |
| export или parse PKCS#12. |
| attributes строка добавлен в 2.3 ansible.builtin | Атрибуты, которые должен иметь результирующий файл или директория. Для получения поддерживаемых флагов обратитесь к справке man для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображается lsattr. Оператор = принимается по умолчанию, в противном случае операторы + или - должны быть включены в строку.псевдонимы: attr | |
| backup логическое |
| Создать резервную копию файла, включая отметку времени, чтобы вы могли вернуть исходный выходной файл, если случайно его перезаписали новым. |
| certificate_path путь | Путь для чтения сертификатов и закрытых ключей. Должен быть в формате PEM. | |
| force логическое |
| Необходимо ли перегенерировать файл, даже если он уже существует. |
| friendly_name строка | Указывает имя дружественного пользователя для сертификата и закрытого ключа. псевдонимы: name | |
| group строка | Имя группы, которая должна владеть файлом/каталогом, как если бы это было передано в chown. | |
| iter_size целое число | По умолчанию: 2048 | Количество повторений шага шифрования. |
| maciter_size целое число | По умолчанию: 1 | Количество повторений шага MAC. |
| mode сырой | Разрешения, которые должен иметь результирующий файл или директория. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую нуль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) либо заключить его в кавычки (например, '644' или '1777') , чтобы Ansible получил строку и мог выполнить свое преобразование из строки в число.Если вы передадите Ansible число без выполнения одного из этих правил, в результате получится десятичное число, что приведет к неожиданным результатам. Начиная с Ansible 1.8, режим может быть задан как символический режим (например, u+rwx или u=rw,g=r,o=r).Если mode не указан, и целевой файл не существует, по умолчанию будет использоваться значение umask на системе при установке режима для вновь созданного файла.Если mode не указан, и целевой файл существует, будет использоваться режим существующего файла.Указание mode является лучшим способом гарантировать, что файлы создаются с правильными разрешениями. См. CVE-2020-1736 для получения дополнительной информации. | |
| other_certificates список / элементы=путь | Список других сертификатов для включения. До Ansible 2.8 этот параметр назывался ca_certificates. Предполагается, что на файл приходится один сертификат в формате PEM. Если файл содержит несколько сертификатов PEM, установите other_certificates_parse_all в true.псевдонимы: ca_certificates | |
| other_certificates_parse_all логическое добавлен в 1.4.0 community.crypto |
| Если установить в true, предполагается, что файлы, упомянутые в other_certificates, могут содержать более одного сертификата на файл (или даже ни одного на файл). |
| owner строка | Имя пользователя, который должен владеть файлом/каталогом, как если бы это было передано в chown. | |
| passphrase строка | Пароль PKCS#12. | |
| path путь / обязательно | Имя файла для записи файла PKCS#12. | |
| privatekey_passphrase строка | Источник пароля для расшифровки любых входных закрытых ключей. | |
| privatekey_path путь | Файл для чтения закрытого ключа. | |
| return_content логическое добавлен в 1.0.0 community.crypto |
| Если установить в yes, будет возвращено содержимое (текущее или сгенерированное) PKCS#12 в виде pkcs12. |
| selevel строка | Часть контекста файла SELinux, отвечающая за уровень. Это атрибут MLS/MCS, иногда известный как range.Если установить в _default, будет использоваться часть политики level при наличии. | |
| serole строка | Часть контекста файла SELinux, отвечающая за роль. Если установить в _default, будет использоваться часть политики role при наличии. | |
| setype строка | Часть контекста файла SELinux, отвечающая за тип. Если установить в _default, будет использоваться часть политики type при наличии. | |
| seuser строка | Часть контекста файла SELinux, отвечающая за пользователя. По умолчанию используется политика system, где это применимо.Если установить в _default, будет использоваться часть политики user при наличии. | |
| src путь | Путь к файлу PKCS#12 для обработки. | |
| state строка |
| Файл должен существовать или нет. Все параметры, кроме path, игнорируются, когда состояние равно absent. |
| unsafe_writes логическое добавлен в 2.2 ansible.builtin |
| Влияет на то, когда использовать атомарную операцию, чтобы предотвратить повреждение данных или несогласованные чтения из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это невозможно. Одним из примеров являются файлы, смонтированные в docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции завершаются неудачно (однако, он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены проблемам гонок и могут привести к повреждению данных. |
См. также
См. также
- community.crypto.x509_certificate
-
Официальная документация модуля community.crypto.x509_certificate.
- community.crypto.openssl_csr
-
Официальная документация модуля community.crypto.openssl_csr.
- community.crypto.openssl_dhparam
-
Официальная документация модуля community.crypto.openssl_dhparam.
- community.crypto.openssl_privatekey
-
Официальная документация модуля community.crypto.openssl_privatekey.
- community.crypto.openssl_publickey
-
Официальная документация модуля community.crypto.openssl_publickey.
Примеры
- name: Generate PKCS#12 file
community.crypto.openssl_pkcs12:
action: export
path: /opt/certs/ansible.p12
friendly_name: raclette
privatekey_path: /opt/certs/keys/key.pem
certificate_path: /opt/certs/cert.pem
other_certificates: /opt/certs/ca.pem
# Note that if /opt/certs/ca.pem contains multiple certificates,
# only the first one will be used. See the other_certificates_parse_all
# option for changing this behavior.
state: present
- name: Generate PKCS#12 file
community.crypto.openssl_pkcs12:
action: export
path: /opt/certs/ansible.p12
friendly_name: raclette
privatekey_path: /opt/certs/keys/key.pem
certificate_path: /opt/certs/cert.pem
other_certificates_parse_all: true
other_certificates:
- /opt/certs/ca_bundle.pem
# Since we set other_certificates_parse_all to true, all
# certificates in the CA bundle are included and not just
# the first one.
- /opt/certs/intermediate.pem
# In case this file has multiple certificates in it,
# all will be included as well.
state: present
- name: Change PKCS#12 file permission
community.crypto.openssl_pkcs12:
action: export
path: /opt/certs/ansible.p12
friendly_name: raclette
privatekey_path: /opt/certs/keys/key.pem
certificate_path: /opt/certs/cert.pem
other_certificates: /opt/certs/ca.pem
state: present
mode: '0600'
- name: Regen PKCS#12 file
community.crypto.openssl_pkcs12:
action: export
src: /opt/certs/ansible.p12
path: /opt/certs/ansible.p12
friendly_name: raclette
privatekey_path: /opt/certs/keys/key.pem
certificate_path: /opt/certs/cert.pem
other_certificates: /opt/certs/ca.pem
state: present
mode: '0600'
force: yes
- name: Dump/Parse PKCS#12 file
community.crypto.openssl_pkcs12:
action: parse
src: /opt/certs/ansible.p12
path: /opt/certs/ansible.pem
state: present
- name: Remove PKCS#12 file
community.crypto.openssl_pkcs12:
path: /opt/certs/ansible.p12
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращенное значение | Описание |
|---|---|---|
| backup_file string | изменённое, если backup yes
| Имя созданного файла резервной копии. Пример: /path/to/ansible.com.pem.2019-03-09@11:22~ |
| filename string | изменённое или успешно | Путь к сгенерированному файлу PKCS#12. Пример: /opt/certs/ansible.p12 |
| pkcs12 string добавлено в 1.0.0 community.crypto | если state present и return_content yes
| Содержание (текущего или сгенерированного) PKCS#12, закодированное в Base64. |
| privatekey string | изменённое или успешно | Путь к закрытому ключу TLS/SSL, из которого был сгенерирован открытый ключ. Пример: /etc/ssl/private/ansible.com.pem |
Авторы
- Guillaume Delpierre (@gdelpierre)
© 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/openssl_pkcs12_module.html