win_certificate_store – Управляет хранилищем сертификатов
Новое в версии 2.5.
Обзор
- Используется для импорта/экспорта и удаления сертификатов и ключей из локального хранилища сертификатов.
- Этот модуль не используется для создания сертификатов и будет управлять только существующими сертификатами как файлом или в хранилище.
- Он может использоваться для импорта сертификатов в формате PEM, DER, P7B, PKCS12 (PFX) и экспорта сертификатов в формате PEM, DER и PKCS12.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| file_type - |
| Тип файла для экспорта сертификата, когда state=exported. der — это двоичный файл, закодированный в ASN.1.pem — это файл, закодированный в base64, представляющий файл DER в формате OpenSSL.pkcs12 (также известный как pfx) — это двоичный контейнер, содержащий как сертификат, так и закрытый ключ, в отличие от других вариантов.Если pkcs12 задано, а закрытый ключ недоступен или не экспортируется текущим пользователем, будет выброшено исключение. |
| key_exportable boolean |
| Разрешить экспорт закрытого ключа. Если no, этот модуль и другие процессы смогут экспортировать только сертификат, и закрытый ключ экспортировать нельзя.Используется, когда state=present только. |
| key_storage - |
| Указывает, где Windows сохранит закрытый ключ при импорте. При значении default, используется значение по умолчанию, заданное Windows, обычно user. При значении machine, ключ хранится в пути, доступном различным пользователям.При значении user, ключ хранится в пути, доступном только текущему пользователю.Используется только при state=present и не может быть изменен после импорта.Дополнительные сведения см. в https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509keystorageflags.aspx. |
| password - | Пароль закрытого ключа сертификата pkcs12. Используется при чтении файла сертификата pkcs12 или для установки пароля при state=exported и file_type=pkcs12. Если файл pkcs12 не имеет пароля или пароль не должен быть задан в экспортируемом файле, не устанавливайте этот параметр. | |
| path path | Путь к файлу сертификата. Требуется, когда состояние — present или exported. Когда состояние — absent и отпечаток не указан, отпечаток выводится из сертификата по этому пути. | |
| state - |
| Если present, гарантирует импорт сертификата по пути в указанное хранилище сертификатов.Если absent, гарантирует удаление сертификата, указанного по отпечатку или отпечаток сертификата по пути из указанного хранилища.Если exported, гарантирует, что файл по пути является сертификатом, указанным по отпечатку.При экспорте сертификата, если путь — это каталог, модуль завершится ошибкой; в противном случае файл будет заменен при необходимости. |
| store_location - |
| Расположение хранилища для использования при импорте сертификата или поиске сертификата. |
| store_name - |
| Имя хранилища для использования при импорте сертификата или поиске сертификата. AddressBook: Хранилище X.509 сертификатов для других пользователейAuthRoot: Хранилище X.509 сертификатов для сертификационных авторитетов (CA) третьих сторонCertificateAuthority: Хранилище X.509 сертификатов для промежуточных сертификационных авторитетов (CA)Disallowed: Хранилище X.509 сертификатов для отозванных сертификатовMy: Хранилище X.509 сертификатов для личных сертификатовRoot: Хранилище X.509 сертификатов для доверенных корневых сертификационных авторитетов (CA)TrustedPeople: Хранилище X.509 сертификатов для непосредственно доверенных людей и ресурсовTrustedPublisher: Хранилище X.509 сертификатов для непосредственно доверенных издателей |
| thumbprint list | Отпечаток в виде шестнадцатеричной строки для экспорта или удаления. См. примеры для указания отпечатка. |
Примечания
Примечание
- Некоторые действия с сертификатами и ключами PKCS12 могут завершиться ошибкой
the specified network password is not correct, используйте CredSSP или Kerberos с делегированием учетных данных илиbecome, чтобы обойти эти ограничения. - Сертификаты должны быть расположены на хосте Windows для задания с помощью пути.
- При импорте сертификата для использования в IIS, обычно требуется использовать параметр
machinekey_storage, так как параметрыdefaultиuserсделают закрытый ключ недоступным для идентификаторов IIS APPPOOL и помешают привязать сертификат к https-точке входа.
Примеры
- name: import a certificate
win_certificate_store:
path: C:\Temp\cert.pem
state: present
- name: import pfx certificate that is password protected
win_certificate_store:
path: C:\Temp\cert.pfx
state: present
password: VeryStrongPasswordHere!
become: yes
become_method: runas
- name: import pfx certificate without password and set private key as un-exportable
win_certificate_store:
path: C:\Temp\cert.pfx
state: present
key_exportable: no
# usually you don't set this here but it is for illustrative purposes
vars:
ansible_winrm_transport: credssp
- name: remove a certificate based on file thumbprint
win_certificate_store:
path: C:\Temp\cert.pem
state: absent
- name: remove a certificate based on thumbprint
win_certificate_store:
thumbprint: BD7AF104CF1872BDB518D95C9534EA941665FD27
state: absent
- name: remove certificate based on thumbprint is CurrentUser/TrustedPublishers store
win_certificate_store:
thumbprint: BD7AF104CF1872BDB518D95C9534EA941665FD27
state: absent
store_location: CurrentUser
store_name: TrustedPublisher
- name: export certificate as der encoded file
win_certificate_store:
path: C:\Temp\cert.cer
state: exported
file_type: der
- name: export certificate and key as pfx encoded file
win_certificate_store:
path: C:\Temp\cert.pfx
state: exported
file_type: pkcs12
password: AnotherStrongPass!
become: yes
become_method: runas
become_user: SYSTEM
- name: import certificate be used by IIS
win_certificate_store:
path: C:\Temp\cert.pfx
file_type: pkcs12
password: StrongPassword!
store_location: LocalMachine
key_storage: machine
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| thumbprints список | успех | Список отпечатков сертификатов, на которые повлиял модуль. Пример: ['BC05633694E675449136679A658281F17A191087'] |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Jordan Borean (@jborean93)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/win_certificate_store_module.html