ansible.windows.win_certificate_store – Управление хранилищем сертификатов
Примечание
Этот плагин входит в сборку ansible.windows (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install ansible.windows.
Для использования в книге задач укажите: ansible.windows.win_certificate_store.
Описание
- Используется для импорта/экспорта и удаления сертификатов и ключей из локального хранилища сертификатов.
- Этот модуль не используется для создания сертификатов и будет управлять только существующими сертификатами как файлом или в хранилище.
- Он может использоваться для импорта сертификатов в форматах PEM, DER, P7B, PKCS12 (PFX) и экспорта сертификатов в форматах PEM, DER и PKCS12.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| file_type строка |
| Тип файла, в котором будет экспортирован сертификат при state=exported.der — это двоичный файл, закодированный в ASN.1.pem — это файл, закодированный в base64, содержащий двоичный файл в формате OpenSSL.pkcs12 (также известный как pfx) — это двоичный контейнер, содержащий как сертификат, так и закрытый ключ, в отличие от других вариантов.При установке pkcs12, если закрытый ключ не экспортируем или недоступен для текущего пользователя, будет выброшено исключение. |
| key_exportable логический |
| Разрешить экспорт закрытого ключа. Если 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 путь | Путь к файлу сертификата. Требуется, когда state равно present или exported.Когда state равно absent и thumbprint не указан, отпечаток сертификата выводится из сертификата в этом пути. | |
| state строка |
| Если present, гарантирует импорт сертификата из path в указанное хранилище сертификатов.Если absent, гарантирует удаление сертификата, указанного по thumbprint или отпечатку сертификата в path, из указанного хранилища.Если exported, гарантирует, что файл в path является сертификатом, указанным по thumbprint.При экспорте сертификата, если path — это каталог, модуль завершится ошибкой, в противном случае файл будет перезаменён при необходимости. |
| store_location строка |
| Местоположение хранилища для использования при импорте сертификата или поиске сертификата. |
| store_name строка |
| Имя хранилища для использования при импорте сертификата или поиске сертификата. AddressBook: Хранилище X.509 сертификатов для других пользователейAuthRoot: Хранилище X.509 сертификатов для сертификационных центров (ЦС) третьих сторонCertificateAuthority: Хранилище X.509 сертификатов для промежуточных ЦСDisallowed: Хранилище X.509 сертификатов для отменённых сертификатовMy: Хранилище X.509 сертификатов для персональных сертификатовRoot: Хранилище X.509 сертификатов для доверенных корневых ЦСTrustedPeople: Хранилище X.509 сертификатов для непосредственно доверенных людей и ресурсовTrustedPublisher: Хранилище X.509 сертификатов для непосредственно доверенных издателей |
| thumbprint строка | Отпечаток в формате шестнадцатеричной строки для экспорта или удаления. См. примеры для указания отпечатка. |
Примечания
Примечание
- Некоторые действия с сертификатами и ключами PKCS12 могут завершиться ошибкой
the specified network password is not correct. Используйте CredSSP или Kerberos с делегированием учетных данных илиbecomeдля обхода этих ограничений. - Сертификаты должны находиться на хосте Windows, чтобы их можно было установить с помощью path.
- При импорте сертификата для использования в IIS обычно требуется использовать параметр
machinekey_storage, поскольку какdefaultтак иuserсделают закрытый ключ недоступным для идентификаторов IIS APPPOOL и помешают привязке сертификата к https-точке входа.
Примеры
- name: Import a certificate
ansible.windows.win_certificate_store:
path: C:\Temp\cert.pem
state: present
- name: Import pfx certificate that is password protected
ansible.windows.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
ansible.windows.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
ansible.windows.win_certificate_store:
path: C:\Temp\cert.pem
state: absent
- name: Remove a certificate based on thumbprint
ansible.windows.win_certificate_store:
thumbprint: BD7AF104CF1872BDB518D95C9534EA941665FD27
state: absent
- name: Remove certificate based on thumbprint is CurrentUser/TrustedPublishers store
ansible.windows.win_certificate_store:
thumbprint: BD7AF104CF1872BDB518D95C9534EA941665FD27
state: absent
store_location: CurrentUser
store_name: TrustedPublisher
- name: Export certificate as der encoded file
ansible.windows.win_certificate_store:
path: C:\Temp\cert.cer
state: exported
file_type: der
- name: Export certificate and key as pfx encoded file
ansible.windows.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
ansible.windows.win_certificate_store:
path: C:\Temp\cert.pfx
file_type: pkcs12
password: StrongPassword!
store_location: LocalMachine
key_storage: machine
state: present
become: yes
become_method: runas
become_user: SYSTEM
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| thumbprints список / элементы=строка | успех | Список отпечатков сертификатов, которые были затронуты модулем. Пример: ['BC05633694E675449136679A658281F17A191087'] |
Авторы
- 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.10/collections/ansible/windows/win_certificate_store_module.html