community.crypto.openssl_pkcs12 модуль — Генерация архива OpenSSL PKCS#12
Примечание
Этот модуль является частью коллекции community.crypto (версия 2.22.1).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля потребуются дополнительные требования. Подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: community.crypto.openssl_pkcs12.
Описание
- Этот модуль позволяет (пере)генерировать PKCS#12.
- Модуль может использовать библиотеку cryptography Python или pyOpenSSL Python. По умолчанию он пытается определить, какая из них доступна, предполагая, что ни один из параметров
iter_sizeиmaciter_sizeне используется. Это можно переопределить с помощью параметраselect_crypto_backend.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- PyOpenSSL >= 0.15, < 23.3.0 или cryptography >= 3.0
Параметры
Параметр | Комментарии |
|---|---|
action string |
Варианты:
|
attributes aliases: attr string | Атрибуты, которыми должен обладать результирующий объект файловой системы. Чтобы получить поддерживаемые флаги, посмотрите страницу руководства для chattr в целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображается с помощью lsattr. Оператор |
backup boolean | Создать резервную копию файла, включая метку времени, чтобы вы могли восстановить исходный выходной файл, если случайно перезаписали его новым. Варианты:
|
certificate_path path | Путь для чтения сертификатов и закрытых ключей. Должен быть в формате PEM. |
encryption_level string добавлено в community.crypto 2.8.0 | Определяет используемый уровень шифрования.
Примечание, что этот параметр не используется для идемпотентности. Варианты:
|
force boolean | Следует ли пересоздать файл, даже если он уже существует. Варианты:
|
friendly_name aliases: name string | Указывает понятное имя для сертификата и закрытого ключа. |
group string | Имя группы, которой должен принадлежать объект файловой системы, как если бы оно передавалось в chown. Если не указано, используется текущая группа текущего пользователя, если вы не являетесь root, в этом случае он может сохранить предыдущее владение. |
iter_size integer | Количество повторений шага шифрования. Это не учитывается при проверках идемпотентности. Это используется только бэкендом При использовании, значение по умолчанию равно |
maciter_size integer | Количество повторений шага MAC. Это не учитывается при проверках идемпотентности. Это используется только бэкендом |
mode any | Права доступа, которыми должен обладать результирующий объект файловой системы. Для тех, кто привык к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Вы должны предоставить Ansible достаточно информации, чтобы правильно их разобрать. Для согласованных результатов заключайте восьмеричные числа в кавычки (например, Предоставление Ansible числа без соблюдения ни одного из этих правил приведет к десятичному числу, которое даст неожиданные результаты. Начиная с Ansible 1.8, режим может быть указан как символьный режим (например, Если Если Указание |
other_certificates aliases: ca_certificates list / elements=path | Список других сертификатов для включения. До Ansible 2.8 этот параметр назывался Предполагается, что в каждом файле находится один сертификат в кодировке PEM. Если файл содержит несколько сертификатов PEM, установите |
other_certificates_parse_all boolean добавлено в community.crypto 1.4.0 | Если установлено в Варианты:
|
owner string | Имя пользователя, которому должен принадлежать объект файловой системы, как если бы оно передавалось в chown. Если не указано, используется текущий пользователь, если вы не являетесь root, в этом случае он может сохранить предыдущее владение. Числовое имя пользователя будет считаться идентификатором пользователя, а не именем пользователя. Избегайте числовых имен пользователей, чтобы избежать этой путаницы. |
пароль строка | Пароль PKCS#12. Примечание: Шифрование PKCS12 не является безопасным и не должно использоваться в качестве механизма защиты. Если вам нужно безопасно хранить или отправлять файл PKCS12, необходимо дополнительно зашифровать его другим способом. |
путь путь / обязательно | Имя файла для записи файла PKCS#12. |
содержимое_приватного_ключа строка добавлено в community.crypto 2.3.0 | Содержимое файла приватного ключа. Взаимоисключающее с |
пароль_приватного_ключа строка | Источник пароля для расшифровки любых входных ключей. |
путь_приватного_ключа путь | Файл для чтения приватного ключа. Взаимоисключающее с |
возвращать_содержимое логическое добавлено в community.crypto 1.0.0 | Если установлено в Варианты:
|
выбрать_криптографический_бэкенд строка добавлено в community.crypto 1.7.0 | Определяет, какой криптографический бэкенд использовать. По умолчанию выбран Если установлено в Если установлено в Варианты:
|
selevel строка | Часть уровня контекста объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда известный как Если установлено в |
serole строка | Часть роли контекста объекта файловой системы SELinux. Если установлено в |
setype строка | Часть типа контекста объекта файловой системы SELinux. Если установлено в |
seuser строка | Часть пользователя контекста объекта файловой системы SELinux. По умолчанию используется политика Если установлено в |
источник путь | Путь к файлу PKCS#12 для анализа. |
состояние строка | Указывает, должен ли файл существовать или нет. Все параметры, кроме Варианты:
|
неопасные_записи логическое | Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых объектов файловой системы, но иногда системы настроены или просто сломаны таким образом, что это предотвращает. Одним из примеров является смонтированная в Docker файловая система, которая не может быть обновлена атомарно изнутри контейнера и может быть записана только небезопасным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления объектов файловой системы, когда атомарные операции терпят неудачу (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
режим_проверки | Поддержка: полная | Может работать в |
режим_сравнения | Поддержка: отсутствует | Вернёт подробности о том, что изменилось (или, возможно, требует изменения в |
безопасные_операции_с_файлами | Поддержка: полная | Использует строгие функции Ansible для работы с файлами, чтобы обеспечить правильные разрешения и избежать повреждения данных. |
См. также
См. также
- community.crypto.x509_certificate
-
Генерация и/или проверка сертификатов OpenSSL.
- community.crypto.openssl_csr
-
Генерация запроса на подпись сертификата (CSR) OpenSSL.
- community.crypto.openssl_dhparam
-
Генерация параметров Diffie-Hellman OpenSSL.
- community.crypto.openssl_privatekey
-
Генерация закрытых ключей OpenSSL.
- community.crypto.openssl_publickey
-
Генерация открытого ключа OpenSSL из закрытого ключа.
Примеры
- 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_content: '{{ private_key_contents }}'
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: true
- 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 строка | Имя созданного файла резервной копии. Возвращается: изменён и если Пример: |
filename строка | Путь к сгенерированному файлу PKCS#12. Возвращается: изменён или успех Пример: |
pkcs12 строка добавлено в community.crypto 1.0.0 | Содержимое (текущее или сгенерированное) PKCS#12, закодированное в Base64. Возвращается: если |
privatekey строка | Путь к закрытому ключу TLS/SSL, из которого был сгенерирован открытый ключ. Возвращается: изменён или успех Пример: |
Ссылки на коллекцию
© 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/openssl_pkcs12_module.html