Spec-Zone.ru › Ansible 2.11

community.crypto.get_certificate – Получение сертификата с хоста:порт

Примечание

Этот плагин входит в коллекцию community.crypto (версия 1.4.0).

Для его установки используйте: ansible-galaxy collection install community.crypto.

Для использования в книге задач укажите: community.crypto.get_certificate.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Устанавливает защищенное соединение и возвращает информацию о представленном сертификате
  • Модуль может использовать библиотеку cryptography или pyOpenSSL. По умолчанию он пытается определить, какая из них доступна. Это можно переопределить параметром select_crypto_backend. Обратите внимание, что бэкенд PyOpenSSL устарел в Ansible 2.9 и будет удален в community.crypto 2.0.0.
  • Поддержка SNI (Server Name Indication) только с python >= 2.7.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • python >= 2.7 при использовании proxy_host
  • cryptography >= 1.6 или pyOpenSSL >= 0.15

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
ca_cert
путь
Файл PEM, содержащий один или несколько корневых сертификатов; если он присутствует, сертификат будет проверен по этим корневым сертификатам.
Обратите внимание, что это только проверяет, подписан ли сертификат цепочкой; а не то, что сертификат действителен для хоста, его представляющего.
host
строка / обязательно
Хост, для которого требуется сертификат (IP-адрес тоже подходит)
port
целое число / обязательно
Порт для подключения
proxy_host
строка
Хост прокси-сервера, используемого при получении сертификата.
proxy_port
целое число
По умолчанию:
8080
Порт прокси-сервера, используемого при получении сертификата.
select_crypto_backend
строка
    Варианты:
  • auto ←
  • cryptography
  • pyopenssl
Определяет, какой криптографический бэкенд использовать.
По умолчанию выбран auto, который пытается использовать cryptography если он доступен, и переходит на pyopenssl.
Если установлено pyopenssl, будет пытаться использовать библиотеку pyOpenSSL.
Если установлено cryptography, будет пытаться использовать библиотеку cryptography.
server_name
строка
добавлено в 1.4.0 community.crypto
Имя сервера, используемое для SNI (Server Name Indication), когда имя хоста — IP-адрес или отличается от имени сервера.
timeout
целое число
По умолчанию:
10
Время ожидания в секундах

Примечания

Примечание

  • При использовании ca_cert в OS X сообщалось, что в некоторых условиях проверка всегда проходит успешно.

Примеры

- name: Get the cert from an RDP port
  community.crypto.get_certificate:
    host: "1.2.3.4"
    port: 3389
  delegate_to: localhost
  run_once: true
  register: cert

- name: Get a cert from an https port
  community.crypto.get_certificate:
    host: "www.google.com"
    port: 443
  delegate_to: localhost
  run_once: true
  register: cert

- name: How many days until cert expires
  debug:
    msg: "cert expires in: {{ expire_days }} days."
  vars:
    expire_days: "{{ (( cert.not_after | to_datetime('%Y%m%d%H%M%SZ')) - (ansible_date_time.iso8601 | to_datetime('%Y-%m-%dT%H:%M:%SZ')) ).days }}"

Возвращаемые значения

Общие возвращаемые значения описаны в здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
cert
строка
успешно
Полученный с порта сертификат

expired
булево
успешно
Булево значение, указывающее, истек ли сертификат

extensions
список / элементы=словарь
успешно
Расширения, применённые к сертификату

asn1_data
строка
успешно
Базовое64-кодированное содержимое ASN.1 расширения.

critical
булево
успешно
Является ли расширение критическим.

name
строка
успешно
Имя расширения.

issuer
словарь
успешно
Информация об издателе сертификата

not_after
строка
успешно
Дата истечения срока действия сертификата

not_before
строка
успешно
Дата выдачи сертификата

serial_number
строка
успешно
Серийный номер сертификата

signature_algorithm
строка
успешно
Алгоритм, используемый для подписи сертификата

subject
словарь
успешно
Информация о субъекте сертификата (OU, CN и т.д.)

version
строка
успешно
Номер версии сертификата



Авторы

  • John Westcott IV (@john-westcott-iv)

© 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/get_certificate_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API