Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Чтобы использовать его в плейбуке, укажите: 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; если кодирование IDNA2008 завершится ошибкой, будет использовано IDNA2003.

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

Примечание: для 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

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

Возвращается: success

authority_cert_issuer

list / elements=string

Издатель сертификата центра сертификации сертификата в виде списка общих имен.

Имеет значение none, если расширение AuthorityKeyIdentifier отсутствует.

Сведения об обработке IDN см. в разделе name_encoding.

Возвращается: success

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

authority_cert_serial_number

integer

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

Имеет значение none, если расширение AuthorityKeyIdentifier отсутствует.

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

Возвращается: success

Пример: 12345

authority_key_identifier

string

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

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

Имеет значение none, если расширение AuthorityKeyIdentifier отсутствует.

Возвращается: success

Пример: "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, если расширение отсутствует.

Возвращается: success

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

basic_constraints_critical

boolean

Указывает, является ли расширение basic_constraints критическим.

Возвращается: success

expired

boolean

Указывает, истёк ли срок действия сертификата (то есть notAfter уже в прошлом).

Возвращается: success

extended_key_usage

list / elements=string

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

Возвращается: success

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

extended_key_usage_critical

boolean

Указывает, является ли расширение extended_key_usage критическим.

Возвращается: success

extensions_by_oid

dictionary

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

Возвращается: success

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

critical

boolean

Указывает, является ли расширение критическим.

Возвращается: success

value

string

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

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

Возвращается: success

Пример: "MAMCAQU="

fingerprints

dictionary

Отпечатки сертификата целиком в кодировке DER.

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

Возвращается: success

Пример: "{'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

Издатель сертификата.

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

Возвращается: success

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

issuer_ordered

list / elements=list

Издатель сертификата в виде упорядоченного списка кортежей.

Возвращается: success

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

issuer_uri

string

URI издателя, если он указан в сертификате. Если URI издателя не указан, будет возвращено none.

Возвращается: 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, если он указан в сертификате. Если URI ответчика OCSP не указан, будет возвращено none.

Возвращается: success

public_key

string

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

Возвращается: success

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

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

integer

Для _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

dictionary

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

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

Возвращается: success

Пример: "{'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

string

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

Одно из значений: RSA, DSA, ECC, Ed25519, X25519, Ed448 или X448.

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

Возвращается: success

Пример: "RSA"

serial_number

integer

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

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

Возвращается: success

Пример: 1234

signature_algorithm

string

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

Возвращается: success

Пример: "sha256WithRSAEncryption"

subject

dictionary

Субъект сертификата в виде словаря.

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

Возвращается: success

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

subject_alt_name

list / elements=string

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

Сведения об обработке IDN см. в разделе name_encoding.

Возвращается: success

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

subject_alt_name_critical

boolean

Указывает, является ли расширение subject_alt_name критическим.

Возвращается: success

subject_key_identifier

string

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

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

Имеет значение none, если расширение SubjectKeyIdentifier отсутствует.

Возвращается: success

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

subject_ordered

list / elements=list

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

Возвращается: success

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

version

integer

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

Возвращается: success

Пример: 3

Авторы

  • Felix Fontein (@felixfontein)

Ссылки на коллекцию

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

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/crypto/x509_certificate_info_filter.html

Spec-Zone.ru

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