Spec-Zone.ru › Ansible

community.crypto.x509_certificate_info фильтр – Извлечение информации из сертификатов X.509 в формате PEM

Примечание

Этот плагин фильтра является частью коллекции community.crypto (версия 2.22.1).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.crypto. Для использования этого плагина фильтра необходимы дополнительные требования, см. Требования для получения подробностей.

Чтобы использовать его в playbook, укажите: community.crypto.x509_certificate_info.

Впервые в community.crypto 2.10.0

  • Обзор
  • Требования
  • Входные данные
  • Параметры ключевых слов
  • См. также
  • Примеры
  • Значение возврата

Обзор

  • Принимая сертификат X.509 в формате PEM, извлечь информацию.
  • Это фильтр-версия модуля community.crypto.x509_certificate_info.

Требования

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

  • Если name_encoding установлено на значение, отличное от ignore, библиотека Python idna должна быть установлена.

Входные данные

Это описывает входные данные фильтра, значение перед | community.crypto.x509_certificate_info.

Параметр

Комментарии

Входные данные

строка / обязательно

Содержание сертификата X.509 в формате PEM.

Параметры ключевых слов

Это описывает параметры ключевых слов фильтра. Это значения key1=value1, key2=value2 и т. д. в следующем примере: input | community.crypto.x509_certificate_info(key1=value1, key2=value2, ...)

Параметр

Комментарии

name_encoding

строка

Как кодировать имена (имена DNS, URI, адреса электронной почты) в значениях возврата.

ignore будет использовать кодировку, возвращаемую бэкендом.

idna преобразует все метки доменных имён в кодировку IDNA. Будет предпочтительна кодировка IDNA2008, а IDNA2003 будет использоваться, если кодировка IDNA2008 не удастся.

unicode преобразует все метки доменных имён в Unicode. Будет предпочтительна кодировка IDNA2008, а IDNA2003 будет использоваться, если кодировка IDNA2008 не удастся.

Обратите внимание, что idna и unicode требуют установленной библиотеки Python idna.

Варианты:

  • "ignore" ← (по умолчанию)
  • "idna"
  • "unicode"

См. также

См. также

community.crypto.x509_certificate_info

Предоставление информации о сертификатах OpenSSL X.509.

community.crypto.to_serial плагин фильтра

Преобразование целого числа в список шестнадцатеричных чисел, разделённых двоеточием.

Примеры

- name: Show the Subject Alt Names of the certificate
  ansible.builtin.debug:
    msg: >-
      {{
        (
          lookup('ansible.builtin.file', '/path/to/cert.pem')
          | community.crypto.x509_certificate_info
        ).subject_alt_name | join(', ')
      }}

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

Ключ

Описание

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

dictionary

Информация о сертификате.

Возвращено: успех

authority_cert_issuer

list / elements=string

Уполномоченный центр сертификации сертификата в виде списка общих имен.

Равно none если расширение AuthorityKeyIdentifier отсутствует.

См. name_encoding для информации о обработке IDN.

Возвращено: успех

Пример: ["DNS:www.ansible.com", "IP:1.2.3.4"]

authority_cert_serial_number

integer

Серийный номер сертификата уполномоченного центра сертификации.

Равно none если расширение AuthorityKeyIdentifier отсутствует.

Это возвращаемое значение является целым числом. Если вам нужны серийные номера в виде шестнадцатеричной строки, разделенной двоеточиями, например 11:22:33, вам нужно преобразовать его в эту форму с помощью community.crypto.to_serial.

Возвращено: успех

Пример: 12345

authority_key_identifier

string

Идентификатор ключа уполномоченного центра сертификации.

Идентификатор возвращается в шестнадцатеричном формате, с использованием : для разделения байтов.

Равно none если расширение AuthorityKeyIdentifier отсутствует.

Возвращено: успех

Пример: "00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:22:33"

basic_constraints

list / elements=string

Записи в расширении basic_constraints, или none если расширение отсутствует.

Возвращено: успех

Пример: ["CA:TRUE", "pathlen:1"]

basic_constraints_critical

boolean

Является ли расширение basic_constraints критическим.

Возвращено: успех

expired

boolean

Истек ли срок действия сертификата (другими словами, notAfter в прошлом).

Возвращено: успех

extended_key_usage

list / elements=string

Записи в расширении extended_key_usage, или none если расширение отсутствует.

Возвращено: успех

Пример: ["Biometric Info", "DVCS", "Time Stamping"]

extended_key_usage_critical

boolean

Является ли расширение extended_key_usage критическим.

Возвращено: успех

extensions_by_oid

dictionary

Возвращает словарь для каждого идентификатора расширения OID.

Возвращено: успех

Пример: {"1.3.6.1.5.5.7.1.24": {"critical": false, "value": "MAMCAQU="}}

critical

boolean

Является ли расширение критическим.

Возвращено: успех

value

string

Значение расширения, закодированное в Base64 (в формате DER).

Примечание: в зависимости от используемой версии cryptography, извлечь содержимое ASN.1 расширения невозможно, можно только предоставить повторно закодированное содержимое расширения в случае, если оно было проанализировано cryptography. Обычно это должно привести к точно такому же значению, за исключением случая, если исходное значение расширения было некорректным.

Возвращено: успех

Пример: "MAMCAQU="

fingerprints

dictionary

Отпечатки пальцев DER-закодированной формы всего сертификата.

Вычисляется отпечаток пальца для каждого доступного хэш-алгоритма.

Возвращено: успех

Пример: "{'sha256': 'd4:b3:aa:6d:c8:04:ce:4e:ba:f6:29:4d:92:a3:94:b0:c2:ff:bd:bf:33:63:11:43:34:0f:51:b0:95:09:2f:63', 'sha512': 'f7:07:4a:f0:b0:f0:e6:8b:95:5f:f9:e6:61:0a:32:68:f1..."

issuer

dictionary

Выдавший сертификат.

Обратите внимание, что для повторяющихся значений будет возвращено только последнее.

Возвращено: успех

Пример: {"commonName": "ca.example.com", "organizationName": "Ansible"}

issuer_ordered

list / elements=list

Выдавший сертификат в виде упорядоченного списка кортежей.

Возвращено: успех

Пример: [["organizationName", "Ansible"], [{"commonName": "ca.example.com"}]]

issuer_uri

string

URI эмитента, если он включен в сертификат. Будет none если URI эмитента не включен.

Возвращено: success

key_usage

string

Записи в расширении key_usage, или none если расширение отсутствует.

Возвращено: success

Пример: "['Key Agreement', 'Data Encipherment']"

key_usage_critical

boolean

Является ли расширение key_usage критическим.

Возвращено: success

not_after

string

Дата notAfter в формате ASN.1 TIME.

Возвращено: success

Пример: "20190413202428Z"

not_before

string

Дата notBefore в формате ASN.1 TIME.

Возвращено: success

Пример: "20190331202428Z"

ocsp_must_staple

boolean

true если расширение OCSP Must Staple присутствует, none в противном случае.

Возвращено: success

ocsp_must_staple_critical

boolean

Является ли расширение ocsp_must_staple критическим.

Возвращено: success

ocsp_uri

string

URI OCSP-ответчика, если он включен в сертификат. Будет none если URI OCSP-ответчика не включен.

Возвращено: success

public_key

string

Открытый ключ сертификата в формате PEM.

Возвращено: success

Пример: "-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A..."

public_key_data

dictionary

Данные открытого ключа. Зависит от типа открытого ключа.

Возвращено: success

curve

string

Имя кривой для ECC.

Возвращено: Когда _value.public_key_type=ECC

exponent

integer

Открытый показатель RSA-ключа.

Возвращено: Когда _value.public_key_type=RSA

exponent_size

integer

Максимальное количество битов закрытого ключа. Это, по сути, размер в битах используемой подгруппы.

Возвращено: Когда _value.public_key_type=ECC

g

integer

Значение g для DSA.

Это элемент, охватывающий подгруппу мультипликативной группы используемого поля простых чисел.

Возвращено: Когда _value.public_key_type=DSA

modulus

integer

Модуль RSA-ключа.

Возвращено: Когда _value.public_key_type=RSA

p

integer

Значение p для DSA.

Это простой модуль, на котором выполняются арифметические операции.

Возвращено: Когда _value.public_key_type=DSA

q

integer

Значение q для DSA.

Это простое число, которое делит p - 1, и одновременно порядок подгруппы мультипликативной группы используемого поля простых чисел.

Возвращено: Когда _value.public_key_type=DSA

size

integer

Размер в битах модуля (RSA) или простого числа (DSA).

Возвращено: Когда _value.public_key_type=RSA или _value.public_key_type=DSA

x

integer

Координата x для открытой точки на эллиптической кривой.

Возвращено: Когда _value.public_key_type=ECC

y

целое число

Для _value.public_key_type=ECC, это y координата для открытой точки на эллиптической кривой.

Для _value.public_key_type=DSA, это общеизвестный элемент группы, дискретный логарифм которого относительно g является закрытым ключом.

Возвращается: При _value.public_key_type=DSA или _value.public_key_type=ECC

public_key_fingerprints

словарь

Отпечатки открытого ключа сертификата.

Для каждого доступного алгоритма хеширования вычисляется отпечаток.

Возвращается: успех

Пример: "{'sha256': 'd4:b3:aa:6d:c8:04:ce:4e:ba:f6:29:4d:92:a3:94:b0:c2:ff:bd:bf:33:63:11:43:34:0f:51:b0:95:09:2f:63', 'sha512': 'f7:07:4a:f0:b0:f0:e6:8b:95:5f:f9:e6:61:0a:32:68:f1..."

public_key_type

строка

Тип открытого ключа сертификата.

Один из RSA, DSA, ECC, Ed25519, X25519, Ed448, или X448.

Начнется с unknown если тип ключа определить невозможно.

Возвращается: успех

Пример: "RSA"

serial_number

целое число

Серийный номер сертификата.

Это значение возвращается как целое число. Если вам нужны серийные номера в виде шестнадцатеричной строки, разделенной двоеточием, например, 11:22:33, вам необходимо преобразовать его в этот формат с помощью community.crypto.to_serial.

Возвращается: успех

Пример: 1234

signature_algorithm

строка

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

Возвращается: успех

Пример: "sha256WithRSAEncryption"

subject

словарь

Предмет сертификата в виде словаря.

Обратите внимание, что для повторяющихся значений будет возвращено только последнее.

Возвращается: успех

Пример: {"commonName": "www.example.com", "emailAddress": "test@example.com"}

subject_alt_name

список / элементы=строка

Элементы расширения subject_alt_name, или none, если расширение отсутствует.

См. name_encoding для обработки IDN.

Возвращается: успех

Пример: ["DNS:www.ansible.com", "IP:1.2.3.4"]

subject_alt_name_critical

булево

Является ли расширение subject_alt_name критическим.

Возвращается: успех

subject_key_identifier

строка

Идентификатор открытого ключа субъекта.

Идентификатор возвращается в шестнадцатеричном формате, с использованием : для разделения байтов.

Возвращает none если расширение SubjectKeyIdentifier отсутствует.

Возвращается: успех

Пример: "00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff:00:11:22:33"

subject_ordered

список / элементы=список

Предмет сертификата в виде упорядоченного списка кортежей.

Возвращается: успех

Пример: [["commonName", "www.example.com"], [{"emailAddress": "test@example.com"}]]

version

целое число

Версия сертификата.

Возвращается: успех

Пример: 3

Авторы

  • Felix Fontein (@felixfontein)

Подсказка

Параметры конфигурации для каждого типа имеют порядок приоритета снизу вверх. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.

Ссылки на сборник

  • Система отслеживания задач
  • Репозиторий (исходный код)
  • Задайте вопрос (криптография)
  • Задайте вопрос (ACME)
  • Отправить отчет об ошибке
  • Запросить новую функцию
  • Связь

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

Spec-Zone.ru

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