Примечания к выпуску Community.Crypto
v3.2.1
Обзор выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Модули acme_* — адаптирован разбор выходных данных закрытого ключа RSA OpenSSL для OpenSSL 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/1005).
- acme_challenge_cert_helper — скорректирована проверка закрытого ключа для новых типов закрытых ключей в cryptography 47.0.0 (https://github.com/ansible-collections/community.crypto/pull/1007).
v3.2.0
Обзор выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Этот выпуск посвящён памяти Майкла О. Рабина, который скончался за несколько дней до выхода этого выпуска.
Незначительные изменения
- Модули acme_* — экспериментальная поддержка типа вызова
dns-account-01в соответствии с черновиком acme-dns-account-label 02. Обратите внимание, что несовместимые изменения для этого типа вызова могут также появиться в минорных выпусках, пока черновик acme-dns-account-label не будет утверждён в качестве RFC (https://github.com/ansible-collections/community.crypto/pull/996). - Модули acme_* — экспериментальная поддержка типа вызова
dns-persist-01в соответствии с черновиком acme-dns-persist 01. Обратите внимание, что несовместимые изменения для этого типа вызова могут также появиться в минорных выпусках, пока черновик acme-dns-persist не будет утверждён в качестве RFC (https://github.com/ansible-collections/community.crypto/pull/997).
Исправления ошибок
- Модули acme_* — улучшена обработка деактивации authz, а также сообщения об ошибках при некорректных состояниях authz (https://github.com/ansible-collections/community.crypto/pull/998).
Новые плагины
Фильтр
- community.crypto.acme_dns_persist_record — создание записи DNS для вызовов ACME
dns-persist-01. - community.crypto.acme_dns_persist_record_parse — разбор записи DNS для вызовов ACME
dns-persist-01.
v3.1.1
Обзор выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- crypto_info, openssl_privatekey, openssl_privatekey_pipe — исправлено обнаружение поддержки EC для cryptography 46.0.5+ (https://github.com/ansible-collections/community.crypto/pull/981).
v3.1.0
Обзор выпуска
Выпуск с новыми функциями.
Незначительные изменения
- luks_device — добавлена поддержка регистрации TPM2 с использованием
systemd-cryptsetup(https://github.com/ansible-collections/community.crypto/issues/850, https://github.com/ansible-collections/community.crypto/pull/972). - luks_device — добавлена поддержка приоритета слотов ключей (https://github.com/ansible-collections/community.crypto/issues/850, https://github.com/ansible-collections/community.crypto/pull/972).
v3.0.5
Обзор выпуска
Технический выпуск.
Исправления ошибок
- Небольшая очистка кода (https://github.com/ansible-collections/community.crypto/pull/963).
v3.0.4
Обзор выпуска
Технический выпуск.
Исправления ошибок
- Исключено использование устаревших функций в ansible-core 2.20 (https://github.com/ansible-collections/community.crypto/pull/953).
v3.0.3
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Модули acme_* — повторять запросы также при HTTP-ответах 502 Bad Gateway и 504 Gateway Timeout. Последнее необходимо для ZeroSSL, у которого, по-видимому, часто возникают ошибки 504 (https://github.com/ansible-collections/community.crypto/issues/945, https://github.com/ansible-collections/community.crypto/pull/947).
- Модули acme_* — увеличить максимальное количество повторных попыток с 10 до 20, чтобы учесть ошибки в реализации ZeroSSL (https://github.com/ansible-collections/community.crypto/pull/949).
v3.0.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Улучшено сообщение об ошибке при сбое загрузки закрытого ключа из-за некорректных файлов закрытого ключа или неверных паролей. Также включена исходная ошибка cryptography, поскольку она, вероятно, содержит более полезную информацию (https://github.com/ansible-collections/community.crypto/issues/936, https://github.com/ansible-collections/community.crypto/pull/939).
v3.0.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- openssl_csr и openssl_csr_pipe — проверка идемпотентности для
key_usageприводила к аварийному завершению, еслиKey Agreement/keyAgreementне был задан (https://github.com/ansible-collections/community.crypto/issues/934, https://github.com/ansible-collections/community.crypto/pull/935).
v3.0.0
Сводка выпуска
Новый мажорный выпуск community.crypto со значительной модернизацией кода. В этом выпуске прекращена поддержка ansible-core до версии 2.17, Python до версии 3.7 и cryptography до версии 3.3. Также удалены все модули Entrust и провайдер Entrust для модулей community.crypto.x509_certificate*.
Подробный список изменений приведён ниже.
Минорные изменения
- Больше не предоставляется параметр
backendиз cryptography. Это приведёт к сбою при использовании cryptography < 3.1 (https://github.com/ansible-collections/community.crypto/pull/878). - В cryptography 36.0.0 и новее для объектов расширений X.509 всегда используется
public_bytes()вместо обращения к внутренним компонентам cryptography для получения значения DER расширения (https://github.com/ansible-collections/community.crypto/pull/878). - Модернизация кода Python: добавлены аннотации типов и проверка типов (https://github.com/ansible-collections/community.crypto/pull/885).
- Модернизация кода Python: исключено ненужное преобразование строк (https://github.com/ansible-collections/community.crypto/pull/880).
- Модернизация кода Python: исключено использование
six(https://github.com/ansible-collections/community.crypto/pull/884). - Модернизация кода Python: удалён код, специфичный для Python 3 (https://github.com/ansible-collections/community.crypto/pull/877).
- Модернизация кода Python: обновлены импорты
__future__, удалены шаблонные фрагменты, специфичные для Python 2 (https://github.com/ansible-collections/community.crypto/pull/876). - Модернизация кода Python: используется
unittest.mockвместоansible_collections.community.internal_test_tools.tests.unit.compat.mock(https://github.com/ansible-collections/community.crypto/pull/881). - Модернизация кода Python: используются f-строки вместо
%иstr.format()(https://github.com/ansible-collections/community.crypto/pull/875). - По возможности удалён параметр
backendиз внутреннего кода (https://github.com/ansible-collections/community.crypto/pull/883). - Удалён различный код совместимости с cryptography < 3.3 (https://github.com/ansible-collections/community.crypto/pull/878).
- Удалены различные уровни абстракции для нескольких серверных компонентов, которые больше не требуются (https://github.com/ansible-collections/community.crypto/pull/912).
- Удалена включённая в поставку копия
distutils.version; вместо неё используется копия, включённая в ansible-core 2.12 и новее (https://github.com/ansible-collections/community.crypto/pull/371). - Различные рефакторинги кода (https://github.com/ansible-collections/community.crypto/pull/905, https://github.com/ansible-collections/community.crypto/pull/909, https://github.com/ansible-collections/community.crypto/pull/911, https://github.com/ansible-collections/community.crypto/pull/913, https://github.com/ansible-collections/community.crypto/pull/914, https://github.com/ansible-collections/community.crypto/pull/917).
- Модули acme_* — улучшен разбор заголовков ответа
Retry-Afterв обычных запросах ACME (https://github.com/ansible-collections/community.crypto/pull/890). - Утилиты плагина action_module — удалена совместимость со старыми версиями ansible-core/ansible-base/Ansible (https://github.com/ansible-collections/community.crypto/pull/872).
- x509_certificate, x509_certificate_pipe — параметры
ownca_versionиselfsigned_versionявно допускают только значение3. Ранее модуль уже завершался с ошибкой при других значениях; теперь это проверяется в спецификации аргументов модуля (https://github.com/ansible-collections/community.crypto/pull/890).
Несовместимые изменения / руководство по переносу
- Все doc_fragments теперь являются закрытыми для коллекции и не должны использоваться в других коллекциях или не связанных с ней плагинах/модулях. В них могут в любой момент появиться несовместимые изменения, даже в выпусках с исправлениями ошибок (https://github.com/ansible-collections/community.crypto/pull/898).
- Все module_utils и plugin_utils теперь являются закрытыми для коллекции и не должны использоваться в других коллекциях или не связанных с ней плагинах/модулях. В них могут в любой момент появиться несовместимые изменения, даже в выпусках с исправлениями ошибок (https://github.com/ansible-collections/community.crypto/pull/887).
- Значение
select_crypto_backendигнорируется всеми модулями, кроме acme_* и …; всегда предполагается значениеauto. Это гарантирует, что версияcryptographyвсегда проверяется (https://github.com/ansible-collections/community.crypto/pull/883). - Проверка относительных временных меток теперь стала строже. Строка, начинающаяся с
+или-, должна быть корректной, иначе проверка завершится ошибкой. Раньше такие строки часто молча игнорировались, а во многих случаях код, запускавший проверку, не мог обработать отсутствие результата (https://github.com/ansible-collections/community.crypto/pull/885). - Утилиты модулей acme.certificates — вспомогательная функция
retrieve_acme_v1_certificate()удалена (https://github.com/ansible-collections/community.crypto/pull/873). - get_certificate — значение по умолчанию для
asn1_base64изменено сfalseнаtrue(https://github.com/ansible-collections/community.crypto/pull/873). - x509_crl — параметр
modeтеперь обозначает режим файла CRL, а не режим обновления. Для режима обновления вместо него используйтеcrl_mode(https://github.com/ansible-collections/community.crypto/pull/873).
Устаревшие возможности
- acme_certificate — параметр
agreement, который больше ни на что не влияет, объявлен устаревшим. Он будет удалён из community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/891). - acme_certificate — значение по умолчанию
trueдля параметраmodify_accountобъявлено устаревшим. В community.crypto 4.0.0 оно изменится наfalse. Рекомендуем задать этому параметру явное значение, чтобы избежать предупреждений об устаревании; уже сейчас предпочтительно установитьfalse. Вместо этого лучше использовать модульcommunity.crypto.acme_account(https://github.com/ansible-collections/community.crypto/issues/924). - openssl_pkcs12 — параметр
maciter_size, который больше ни на что не влияет, объявлен устаревшим. Он будет удалён из community.crypto 4.0.0 (https://github.com/ansible-collections/community.crypto/pull/891).
Удалённые возможности (ранее объявленные устаревшими)
- Весь функционал Entrust удаляется, поскольку служба Entrust в настоящее время прекращает работу после продажи подразделения Entrust по выпуску публичных сертификатов компании Sectigo; подробности см. в объявлении с ключевыми датами и кратком руководстве по миграции для клиентов. Поскольку этот процесс завершится в 2025 году, мы решили удалить весь функционал Entrust из community.general 3.0.0 (https://github.com/ansible-collections/community.crypto/issues/895, https://github.com/ansible-collections/community.crypto/pull/901).
- Коллекция больше не поддерживает cryptography < 3.3 (https://github.com/ansible-collections/community.crypto/pull/878, https://github.com/ansible-collections/community.crypto/pull/882).
- Утилиты модулей acme.acme — функция
get_default_argspec()удалена. Вместо неё используйтеcreate_default_argspec()(https://github.com/ansible-collections/community.crypto/pull/873). - Утилиты модулей acme.backends — теперь необходимо реализовать методы
get_ordered_csr_identifiers()иget_cert_information()классаCryptoBackend(https://github.com/ansible-collections/community.crypto/pull/873). - Фрагмент документации acme.documentation — фрагмент документации
documentationудалён. Вместо него используйте оба фрагмента документацииbasicиaccountвacme(https://github.com/ansible-collections/community.crypto/pull/873). - Модули acme_* — поддержка ACME v1 удалена (https://github.com/ansible-collections/community.crypto/pull/873).
- community.crypto больше не поддерживает Ansible 2.9, ansible-base 2.10 и версии ansible-core 2.11, 2.12, 2.13, 2.14, 2.15 и 2.16. Хотя материалы этой коллекции могут по-прежнему работать с некоторыми старыми версиями ansible-core, они не будут работать ни с одной версией Python ниже 3.7 (https://github.com/ansible-collections/community.crypto/pull/870).
- Утилиты модулей crypto.basic — удалены флаги
CRYPTOGRAPHY_HAS_*. Все проверенные возможности поддерживаются начиная с cryptography 3.0 (https://github.com/ansible-collections/community.crypto/pull/878). - Утилиты модулей crypto.cryptography_support — удалена вспомогательная функция
cryptography_serial_number_of_cert()(https://github.com/ansible-collections/community.crypto/pull/878). - Утилиты модулей crypto.module_backends.common — эти утилиты модулей удалены. Вместо них используйте утилиты модулей
argspec(https://github.com/ansible-collections/community.crypto/pull/873). - Утилиты модулей crypto.support — удалён серверный компонент
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/874). - ecs_certificate — модуль удалён. Если вам нужен этот модуль, используйте community.crypto 2.x.y (https://github.com/ansible-collections/community.crypto/pull/900).
- ecs_domain — модуль удалён. Если вам нужен этот модуль, используйте community.crypto 2.x.y (https://github.com/ansible-collections/community.crypto/pull/900).
- Зависимости среды выполнения — удалена зависимость PyOpenSSL (https://github.com/ansible-collections/community.crypto/pull/874).
- openssl_csr_pipe — теперь модуль игнорирует режим проверки и всегда работает так, как если бы режим проверки был выключен (https://github.com/ansible-collections/community.crypto/pull/873).
- openssl_pkcs12 — поддержка серверного компонента
pyopensslудалена (https://github.com/ansible-collections/community.crypto/pull/873). - openssl_privatekey_pipe — теперь модуль игнорирует режим проверки и всегда работает так, как если бы режим проверки был выключен (https://github.com/ansible-collections/community.crypto/pull/873).
- Утилиты модулей time — удалён серверный компонент
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/874). - x509_certificate — провайдер
entrustудалён. Если вам нужен этот провайдер, используйте community.crypto 2.x.y (https://github.com/ansible-collections/community.crypto/pull/900). - x509_certificate_pipe — провайдер
entrustудалён. Если вам нужен этот провайдер, используйте community.crypto 2.x.y (https://github.com/ansible-collections/community.crypto/pull/900). - x509_certificate_pipe — теперь модуль игнорирует режим проверки и всегда работает так, как если бы режим проверки был выключен (https://github.com/ansible-collections/community.crypto/pull/873).
Исправления ошибок
- acme_account — обеспечена работа с центрами сертификации, которые не принимают запросы на создание учётной записи без данных External Account Binding (https://github.com/ansible-collections/community.crypto/issues/918, https://github.com/ansible-collections/community.crypto/pull/919).
- openssl_csr, openssl_csr_pipe — исключено обращение к внутренним элементам объекта расширения
KeyUsageиз cryptography (https://github.com/ansible-collections/community.crypto/pull/910).
v2.26.1
Сводка выпуска
Выпуск с исправлениями ошибок и обновлениями обслуживания, улучшен CI.
Исправления ошибок
- luks_device — параметр
passphrase_encodingпомечен какno_log=False, чтобы избежать вводящего в заблуждение предупреждения (https://github.com/ansible-collections/community.crypto/pull/867). - luks_device — удаление определённого слота ключа с помощью
remove_keyslotприводило к зависанию модуля: cryptsetup ожидал парольную фразу из stdin, но модуль её не предоставлял. Поскольку слот ключа не обязателен, он не передаётся (https://github.com/ansible-collections/community.crypto/issues/864, https://github.com/ansible-collections/community.crypto/pull/868).
v2.26.0
Сводка выпуска
Выпуск с новыми возможностями.
Минорные изменения
- openssl_pkcs12 — модуль теперь поддерживает
certificate_content/other_certificates_contentв случаях, когда данные уже находятся в памяти, но ещё не записаны в файл (https://github.com/ansible-collections/community.crypto/issues/847, https://github.com/ansible-collections/community.crypto/pull/848).
v2.25.0
Сводка выпуска
Выпуск с новыми возможностями.
Минорные изменения
- luks_device — разрешено использовать в парольных фразах символы перевода строки (https://github.com/ansible-collections/community.crypto/pull/844).
v2.24.0
Сводка выпуска
Выпуск с новыми возможностями и исправлениями ошибок, включающий несколько новых модулей. Также объявлена устаревшей поддержка старых версий ansible-core и Python.
Минорные изменения
- acme_certificate — добавлены параметры
order_creation_error_strategyиorder_creation_max_retries, позволяющие настроить обработку ошибок при сбое создания нового заказа ACME. Это особенно важно при использовании параметраinclude_renewal_cert_id; значение по умолчаниюautoдляorder_creation_error_strategyобеспечивает корректную обработку связанных ошибок (https://github.com/ansible-collections/community.crypto/pull/842). - acme_certificate — добавлена возможность выбирать профиль для создания сертификата, если центр сертификации поддерживает эту функцию с помощью Internet-Draft draft-aaron-acme-profiles (https://github.com/ansible-collections/community.crypto/pull/835).
- acme_certificate_renewal_info — добавлены возвращаемые значения
existsиparsable, а также параметрtreat_parsing_error_as_non_existing(https://github.com/ansible-collections/community.crypto/pull/838).
Устаревшие возможности
- Поддержка ansible-core 2.11, 2.12, 2.13, 2.14, 2.15 и 2.16 объявлена устаревшей и будет удалена в следующем мажорном выпуске (community.crypto 3.0.0). Некоторые модули могут продолжить работать с отдельными из этих версий, но мы больше не будем сохранять код совместимости, необходимый для их поддержки. Обратите внимание: это означает прекращение поддержки всех версий Python ниже 3.7, в том числе на целевом узле (https://github.com/ansible-collections/community.crypto/issues/559, https://github.com/ansible-collections/community.crypto/pull/839).
- Поддержка cryptography < 3.4 объявлена устаревшей и будет удалена в следующем мажорном выпуске (community.crypto 3.0.0). Некоторые модули могут продолжить работать со старыми версиями cryptography, но мы больше не будем сохранять код совместимости, необходимый для их поддержки (https://github.com/ansible-collections/community.crypto/issues/559, https://github.com/ansible-collections/community.crypto/pull/839).
Исправления ошибок
- crypto_info — при запуске модуля в Fedora 41 с
cryptography, установленным из репозитория пакетов, происходил сбой. По-видимому, это было вызвано удалением из libssl некоторых эллиптических кривых, с которыми работает cryptography, чего cryptography не ожидала (https://github.com/ansible-collections/community.crypto/pull/834).
Новые модули
- community.crypto.acme_certificate_order_create — создать заказ ACME v2.
- community.crypto.acme_certificate_order_finalize — завершить заказ ACME v2.
- community.crypto.acme_certificate_order_info — получить сведения о заказе ACME v2.
- community.crypto.acme_certificate_order_validate — проверить авторизации заказа ACME v2.
v2.23.0
Сводка выпуска
Выпуск с новыми возможностями.
Минорные изменения
- acme_certificate — добавлена совместимость с центрами сертификации ACME, которые не полностью соответствуют RFC8555 и не предоставляют
challengesв объектах authz (https://github.com/ansible-collections/community.crypto/issues/824, https://github.com/ansible-collections/community.crypto/pull/832). - luks_device — разрешено передавать парольные фразы в кодировке base64 (https://github.com/ansible-collections/community.crypto/issues/827, https://github.com/ansible-collections/community.crypto/pull/829).
- x509_certificate_convert — добавлен новый параметр
verify_cert_parsable, позволяющий проверить, можно ли фактически разобрать сертификат (https://github.com/ansible-collections/community.crypto/issues/809, https://github.com/ansible-collections/community.crypto/pull/830).
Устаревшие возможности
- openssl_pkcs12 — серверный компонент на основе PyOpenSSL объявлен устаревшим и будет удалён из community.crypto 3.0.0. После этого для использования данного модуля потребуется cryptography версии 3.0 или новее (https://github.com/ansible-collections/community.crypto/issues/667, https://github.com/ansible-collections/community.crypto/pull/831).
v2.22.3
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Модули acme_* — при использовании серверного компонента OpenSSL в коде Python явно задаётся часовой пояс UTC (https://github.com/ansible-collections/community.crypto/pull/811).
- Утилиты модулей time — исправлено преобразование объектов
datetimeбез часового пояса в метки времени UNIX для Python 3 (https://github.com/ansible-collections/community.crypto/issues/808, https://github.com/ansible-collections/community.crypto/pull/810).
v2.22.2
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- acme_certificate — исправлен сбой авторизации, если CSR содержит SAN с буквами в разном регистре (https://github.com/ansible-collections/community.crypto/pull/803).
v2.22.1
Краткое описание выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- модули acme_* — при запросе сведений о продлении обеспечено добавление косой черты между базовым URL и идентификатором сертификата (https://github.com/ansible-collections/community.crypto/issues/801, https://github.com/ansible-collections/community.crypto/pull/802).
- различные модули — передача абсолютных путей в
module.atomic_move()(https://github.com/ansible/ansible/issues/83950, https://github.com/ansible-collections/community.crypto/pull/799).
v2.22.0
Краткое описание выпуска
Выпуск с новыми функциями.
Незначительные изменения
- openssl_privatekey, openssl_privatekey_pipe — добавлено значение по умолчанию
autoдля параметраcipher, которое и так является единственным поддерживаемым значением для этого параметра. Поэтому при указанииpassphraseбольше не нужно указыватьcipher=auto(https://github.com/ansible-collections/community.crypto/issues/793, https://github.com/ansible-collections/community.crypto/pull/794).
v2.21.1
Краткое описание выпуска
Выпуск с обновлениями для поддержки.
Исправления ошибок
- При использовании cryptography >= 43.0.0 для расширения X.509 CRL
InvalidityDateвместо меток времени UTC без учета смещения используются объектыdatetime.datetimeс учетом смещения (с часовым поясом UTC) (https://github.com/ansible-collections/community.crypto/issues/726, https://github.com/ansible-collections/community.crypto/pull/730).
v2.21.0
Краткое описание выпуска
Выпуск с новыми функциями.
Незначительные изменения
- certificate_complete_chain — добавлена возможность определять полные цепочки Ed25519 и Ed448 (https://github.com/ansible-collections/community.crypto/pull/777).
- get_certificate — добавлен параметр
tls_ctx_optionsдля указания параметров SSL CTX (https://github.com/ansible-collections/community.crypto/pull/779). - get_certificate — добавлена возможность получать цепочку сертификатов, отправленную сервером, и цепочку, использованную для проверки, с помощью нового параметра
get_certificate_chain. Обратите внимание, что этот параметр работает только при запуске модуля с Python 3.10 или новее (https://github.com/ansible-collections/community.crypto/issues/568, https://github.com/ansible-collections/community.crypto/pull/784).
v2.20.0
Краткое описание выпуска
Выпуск с новыми функциями и исправлениями ошибок.
Устаревшие элементы в этом выпуске актуальны только для коллекций, использующих общий код или фрагменты документации из этой коллекции.
Незначительные изменения
- acme_certificate — добавлен параметр
include_renewal_cert_id, позволяющий запрашивать продление определенного сертификата в соответствии с текущим проектом спецификации ACME Renewal Information (https://github.com/ansible-collections/community.crypto/pull/739).
Устаревшие функции
- фрагмент документации acme — стандартный фрагмент документации
community.crypto.acme[.documentation]признан устаревшим и будет удален из community.crypto 3.0.0. Замените его обоими новыми фрагментамиcommunity.crypto.acme.basicиcommunity.crypto.acme.account(https://github.com/ansible-collections/community.crypto/pull/735). - служебные функции модуля acme.backends — метод
get_cert_information()должен быть реализован для серверной части ACME-криптографии начиная с community.crypto 3.0.0 (https://github.com/ansible-collections/community.crypto/pull/736). - служебные функции модуля crypto.module_backends.common — служебный модуль
crypto.module_backends.commonпризнан устаревшим и будет удален из community.crypto 3.0.0. Вместо него используйте улучшенную служебную функцию модуляargspec(https://github.com/ansible-collections/community.crypto/pull/749).
Исправления ошибок
- x509_crl, x509_certificate, x509_certificate_info — при разборе абсолютных меток времени без указания секунд первая цифра минут использовалась как однозначное значение минут, а вторая цифра минут — как однозначное значение секунд (https://github.com/ansible-collections/community.crypto/pull/745).
Новые модули
- community.crypto.acme_ari_info — получает сведения ACME Renewal Information (ARI) для сертификата.
- community.crypto.acme_certificate_deactivate_authz — деактивирует все authz для заказа ACME v2.
- community.crypto.acme_certificate_renewal_info — определяет, следует ли продлевать сертификат.
v2.19.1
Краткое описание выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- служебные функции модуля crypto.math — изменены возвращаемые значения для
quick_is_not_prime()иconvert_int_to_bytes(0, 0)в особых случаях, которые не возникают при использовании коллекции (https://github.com/ansible-collections/community.crypto/pull/733). - ecs_certificate — исправлен параметр
csr: теперь он может быть пустым и позволяет продлить определенный сертификат в соответствии со спецификацией Renewal Information (https://github.com/ansible-collections/community.crypto/pull/740). - x509_certificate — начиная с community.crypto 2.19.0 модуль перестал быть идемпотентным относительно времени
not_beforeиnot_after. Эта ошибка исправлена (https://github.com/ansible-collections/community.crypto/issues/753, https://github.com/ansible-collections/community.crypto/pull/754).
v2.19.0
Краткое описание выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- При использовании cryptography >= 42.0.0 вместо меток времени UTC без учета смещения используются объекты
datetime.datetimeс учетом смещения (с часовым поясом UTC) (https://github.com/ansible-collections/community.crypto/issues/726, https://github.com/ansible-collections/community.crypto/pull/727). - openssh_cert — при использовании Python 3 не применяются функции UTC, устаревшие в Python 3.12 (https://github.com/ansible-collections/community.crypto/pull/727).
Устаревшие функции
- служебные функции модуля acme.backends — начиная с community.crypto все реализации
CryptoBackendдолжны переопределятьget_ordered_csr_identifiers(). Текущая реализация по умолчанию, которая просто сортирует результатget_csr_identifiers(), после этого будет удалена (https://github.com/ansible-collections/community.crypto/pull/725).
Исправления ошибок
- acme_certificate — при создании заказа ACME соблюдается порядок идентификаторов CNAME и SAN (https://github.com/ansible-collections/community.crypto/issues/723, https://github.com/ansible-collections/community.crypto/pull/725).
Новые модули
- community.crypto.x509_certificate_convert — преобразует сертификаты X.509
v2.18.0
Краткое описание выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- x509_crl — новый параметр
serial_numbersпозволяет настроить формат серийных номеров, передаваемых вrevoked_certificates[].serial_number. Для обратной совместимости по умолчанию используются целые числа (serial_numbers=integer); установкаserial_numbers=hex-octetsпозволяет указывать шестнадцатеричные октетные строки, разделенные двоеточиями, например00:11:22:FF(https://github.com/ansible-collections/community.crypto/issues/687, https://github.com/ansible-collections/community.crypto/pull/715).
Устаревшие функции
- openssl_csr_pipe, openssl_privatekey_pipe, x509_certificate_pipe — текущий режим работы в режиме проверки признан устаревшим и изменится в community.crypto 3.0.0. Сейчас поведение аналогично модулям без
_pipe: если объект нужно создать заново, устанавливается только статусchanged, но сам объект не обновляется. Начиная с community.crypto 3.0.0 модули будут игнорировать режим проверки и всегда работать так, как если бы он не был включен. Уже сейчас можно включить такое поведение, добавивcheck_mode: falseв задачу. Если вы считаете, что это нарушает ваш сценарий использования модуля, пожалуйста, создайте issue в репозитории community.crypto (https://github.com/ansible-collections/community.crypto/issues/712, https://github.com/ansible-collections/community.crypto/pull/714).
Исправления ошибок
- luks_device — исправлена ошибка модуля, из-за которой
remove_keyslotнельзя было использовать со значением0(https://github.com/ansible-collections/community.crypto/pull/710). - luks_device — исправлена ошибка, из-за которой модуль выдавал
changed=falseпри попытке добавить новый слот с ключом, уже имеющимся в другом слоте. Теперь модуль отклоняет добавление ключей, уже присутствующих в других слотах (https://github.com/ansible-collections/community.crypto/pull/710). - luks_device — исправлена проверка парольных фраз LUKS при указании keyslot для cryptsetup версии 2.0.3. Вывод этой версии cryptsetup немного отличается от вывода более поздних версий (https://github.com/ansible-collections/community.crypto/pull/710).
Новые плагины
Фильтр
- community.crypto.parse_serial — преобразует серийный номер в виде списка шестнадцатеричных чисел, разделенных двоеточиями, в целое число
- community.crypto.to_serial — преобразует целое число в список шестнадцатеричных чисел, разделенных двоеточиями
v2.17.1
Краткое описание выпуска
Выпуск с исправлениями ошибок для совместимости с cryptography 42.0.0.
Исправления ошибок
- openssl_dhparam — при использовании серверной части
cryptographyдля загрузки файлов параметров DH применялась внутренняя функция вместо публичного API. Эта внутренняя функция удалена в cryptography 42.0.0. Теперь модуль использует публичный API, доступный с момента добавления поддержки параметров DH в cryptography (https://github.com/ansible-collections/community.crypto/pull/698). - openssl_privatekey_info —
check_consistency=trueбольше не работает с ключами RSA в cryptography 42.0.0 и новее (https://github.com/ansible-collections/community.crypto/pull/701). - openssl_privatekey_info —
check_consistency=trueтеперь выводит предупреждение, если не удается определить согласованность (https://github.com/ansible-collections/community.crypto/pull/705).
v2.17.0
Краткое описание выпуска
Выпуск с новыми функциями.
Незначительные изменения
- luks_device — добавлен параметр разрешения отбрасывания данных (https://github.com/ansible-collections/community.crypto/pull/693).
v2.16.2
Краткое описание выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- модули acme_* — немедленная обработка некорректных данных в ответах на запросы создания, получения и обновления учетных записей (https://github.com/ansible-collections/community.crypto/pull/682).
- модули acme_* — улучшена отчетность об ошибках сокетов, некорректных строках состояния и неизвестных ошибках подключения (https://github.com/ansible-collections/community.crypto/pull/684).
- модули acme_* — количество повторных попыток увеличено с 5 до 10 для повышения стабильности при работе с нестабильными конечными точками ACME (https://github.com/ansible-collections/community.crypto/pull/685).
- модули acme_* — обработка регистрации учетной записи стала гибче: теперь принимается ответ 404 вместо 400, который отправляет конечная точка ACME DigiCert, если учетная запись не существует (https://github.com/ansible-collections/community.crypto/pull/681).
v2.16.1
Краткое описание выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- модули acme_* — запросы также повторяются при ошибках сокетов, некорректных строках состояния и неизвестных ошибках подключения; в этих случаях улучшены сообщения об ошибках (https://github.com/ansible-collections/community.crypto/issues/680).
v2.16.0
Краткое описание выпуска
Выпуск с исправлениями ошибок.
Незначительные изменения
- luks_devices — добавлены новые параметры
keyslot,new_keyslotиremove_keyslot, позволяющие добавлять и удалять ключи в определенных слотах ключей (https://github.com/ansible-collections/community.crypto/pull/664).
Исправления ошибок
- openssl_pkcs12 — скорректировано автоматическое определение: теперь не определяется pyOpenSSL >= 23.3.0, в котором удалена поддержка PKCS#12 (https://github.com/ansible-collections/community.crypto/pull/666).
v2.15.1
Краткое описание выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- модули acme_* — корректная обработка документов с ошибками без
type(https://github.com/ansible-collections/community.crypto/issues/651, https://github.com/ansible-collections/community.crypto/pull/652).
v2.15.0
Краткое описание выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- openssh_keypair — завершение с ошибкой, если не удается обновить комментарий (https://github.com/ansible-collections/community.crypto/pull/646).
Устаревшие функции
- get_certificate — значение
falseпо умолчанию для параметраasn1_base64признано устаревшим и изменится наtrueв community.crypto 3.0.0 (https://github.com/ansible-collections/community.crypto/pull/600).
Исправления ошибок
- openssh_cert, openssh_keypair — в некоторых случаях модули игнорировали коды возврата
sshиssh-keygen(https://github.com/ansible-collections/community.crypto/issues/645, https://github.com/ansible-collections/community.crypto/pull/646). - openssh_keypair — исправлено обновление комментария в OpenSSH до версии 6.5 (https://github.com/ansible-collections/community.crypto/pull/646).
Новые плагины
Фильтр
- community.crypto.gpg_fingerprint — получает отпечаток GPG из открытого или закрытого ключа GPG
Поиск
- community.crypto.gpg_fingerprint — получает отпечаток GPG из файла с открытым или закрытым ключом GPG
v2.14.1
Краткое описание выпуска
Выпуск с исправлениями ошибок и обновленной документацией.
Начиная с этой версии, в документации community.crypto используется новая семантическая разметка Ansible. Обратите внимание: если вы просматриваете документацию с помощью CLI-инструмента ansible-doc из ansible-core версии ниже 2.15, разметка отображается некорректно. В большинстве случаев документацию все равно можно прочитать, однако для ее отображения в задуманном виде требуется ansible-core 2.15 или новее. Также можно посетить сайт документации для ветки devel, где доступна отрисованная HTML-версия документации последнего выпуска.
Исправления ошибок
- Обнаружение и идентификация PEM исправлены: теперь допускаются произвольные дополнительные строки перед строкой, начинающейся с
-----BEGIN(https://github.com/ansible-collections/community.crypto/issues/627, https://github.com/ansible-collections/community.crypto/pull/628).
Известные проблемы
- В текстовом выводе ansible-doc для ansible-core версий ниже 2.15 разметка Ansible отображается в исходном виде. Если вам сложно разобраться в разметке документации, обновите ansible-core до версии 2.15 или новее либо прочитайте документацию в формате HTML по адресу https://docs.ansible.com/ansible/devel/collections/community/crypto/.
v2.14.0
Краткое описание выпуска
Выпуск с новыми функциями.
Незначительные изменения
- acme_certificate — разрешено использовать вариант без challenge, указав
no challengeдля параметраchallenge. Это необходимо для серверов ACME, на которых проверка выполняется без challenge (https://github.com/ansible-collections/community.crypto/issues/613, https://github.com/ansible-collections/community.crypto/pull/615). - acme_certificate — проверка и ожидание challenge теперь выполняются параллельно, а не последовательно (https://github.com/ansible-collections/community.crypto/pull/617).
- x509_certificate_info — добавлена поддержка сертификатов в формате DER при использовании параметра
path(https://github.com/ansible-collections/community.crypto/issues/603).
v2.13.1
Краткое описание выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- определение среды выполнения — исправлена установка пакета
python3-pyOpenSSLв CentOS и RHEL (https://github.com/ansible-collections/community.crypto/pull/606). - определение среды выполнения — исправлен источник пакета
python3-pyOpenSSLдля Rocky Linux 9 и новее (https://github.com/ansible-collections/community.crypto/pull/606).
v2.13.0
Краткое описание выпуска
Выпуск с исправлениями ошибок и обновлениями для поддержки.
Незначительные изменения
- x509_crl — добавлен параметр
crl_mode, заменяющий существующий параметрmode(https://github.com/ansible-collections/community.crypto/issues/596).
Устаревшие функции
- x509_crl — параметр
modeпризнан устаревшим; вместо него используйтеcrl_mode. В community.crypto 3.0.0 параметрmodeизменит значение и будет указывать на режим файла CRL (https://github.com/ansible-collections/community.crypto/issues/596).
Исправления ошибок
- openssh_keypair — если закрытый ключ не существует, всегда создается новая пара ключей. Ранее модуль завершался с ошибкой при
regenerate=failбез существующего ключа, что противоречило документации (https://github.com/ansible-collections/community.crypto/pull/598). - x509_crl — устранена проблема с ansible-core 2.16:
AnsibleModuleтеперь проверяет значения параметраmode(https://github.com/ansible-collections/community.crypto/issues/596).
v2.12.0
Краткое описание выпуска
Выпуск с новыми функциями.
Незначительные изменения
- get_certificate — добавлен параметр
asn1_base64, позволяющий управлять тем, возвращаются ли данные ASN.1 в значенииextensionsв двоичном виде или в кодировке Base64 (https://github.com/ansible-collections/community.crypto/pull/592).
v2.11.1
Краткое описание выпуска
Выпуск с обновлениями для поддержки и улучшенной документацией.
v2.11.0
Краткое описание выпуска
Выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- get_certificate — добавлен параметр
ciphersдля выбора шифров (https://github.com/ansible-collections/community.crypto/pull/571).
Исправления ошибок
- вспомогательный модуль action plugin — исправлена обработка устаревших элементов в ansible-core 2.14.2 (https://github.com/ansible-collections/community.crypto/pull/572).
- бинарные зависимости среды выполнения (bindep.txt) — исправлено разрешение зависимости
python3-pyOpenSSLна платформах RHEL 9 и новее и CentOS Stream 9 и новее (https://github.com/ansible-collections/community.crypto/pull/575). - различные плагины — удалены ненужные импорты (https://github.com/ansible-collections/community.crypto/pull/569).
v2.10.0
Краткое описание выпуска
Выпуск с исправлениями ошибок и новыми функциями.
Исправления ошибок
- openssl_csr, openssl_csr_pipe — запрещены недопустимые значения
crl_distribution_points, не содержащие один из элементовfull_name,relative_nameиcrl_issuer(https://github.com/ansible-collections/community.crypto/pull/560). - openssl_publickey_info — предотвращено аварийное завершение с внутренней ошибкой, если не удается разобрать открытый ключ (https://github.com/ansible-collections/community.crypto/pull/551).
Новые плагины
Фильтр
- community.crypto.openssl_csr_info — получает сведения из запросов на подпись сертификата OpenSSL (CSR)
- community.crypto.openssl_privatekey_info — получает сведения о закрытых ключах OpenSSL
- community.crypto.openssl_publickey_info — получает сведения об открытых ключах OpenSSL в формате PEM
- community.crypto.split_pem — разделяет содержимое файла PEM на несколько объектов
- community.crypto.x509_certificate_info — получает сведения о сертификатах X.509 в формате PEM
- community.crypto.x509_crl_info — получает сведения о списках отзыва сертификатов X.509 (CRL) в формате PEM
v2.9.0
Сводка выпуска
Плановый выпуск с новыми функциями.
Незначительные изменения
- x509_certificate_info — добавлено поле
issuer_uriв возвращаемое значение на основе данных Authority Information Access (https://github.com/ansible-collections/community.crypto/pull/530).
v2.8.1
Сводка выпуска
Выпуск с исправлениями документации и улучшениями для сопровождения.
v2.8.0
Сводка выпуска
Выпуск с новыми функциями.
Незначительные изменения
- Модули acme_* — более корректно обрабатывают ситуацию, когда новый запрос nonce от CA не возвращает nonce (https://github.com/ansible-collections/community.crypto/pull/525).
- Модули acme_* — при наличии включают символьные коды состояния HTTP в сообщения об ошибках и журналы (https://github.com/ansible-collections/community.crypto/pull/524).
- openssl_pkcs12 — добавлен параметр
encryption_level, который позволяет выбратьcompatibility2022при использовании cryptography >= 38.0.0, чтобы включить более совместимый со старыми версиями алгоритм шифрования. Если cryptography использует OpenSSL 3.0.0 или новее, алгоритм по умолчанию несовместим со старым программным обеспечением (https://github.com/ansible-collections/community.crypto/pull/523).
v2.7.1
Сводка выпуска
Выпуск с исправлениями для сопровождения.
Исправления ошибок
- Модули acme_* — улучшена обратная связь, если импорт
cryptographyне выполняется (https://github.com/ansible-collections/community.crypto/issues/518, https://github.com/ansible-collections/community.crypto/pull/519).
v2.7.0
Сводка выпуска
Выпуск с новыми функциями.
Незначительные изменения
- Модули acme* — также поддерживают коды состояния HTTP 503 Service Unavailable и 408 Request Timeout для автоматических повторных попыток (https://github.com/ansible-collections/community.crypto/pull/513).
Исправления ошибок
- openssl_privatekey_pipe — обеспечена совместимость с более новыми версиями ansible-core (https://github.com/ansible-collections/community.crypto/pull/515).
v2.6.0
Сводка выпуска
Выпуск с новыми функциями.
Незначительные изменения
- Модули acme* — поддерживают код состояния HTTP 429 Too Many Requests (https://github.com/ansible-collections/community.crypto/pull/508).
- openssh_keypair — добавлены
pkcs1,pkcs8иsshв список доступных значений параметраprivate_key_format(https://github.com/ansible-collections/community.crypto/pull/511).
v2.5.0
Сводка выпуска
Выпуск с улучшенным объявлением лицензий и исправлениями документации.
Незначительные изменения
- Все лицензии на программное обеспечение теперь находятся в каталоге
LICENSES/в корне коллекции. Кроме того, для объявления применимой лицензии каждого файла, который не создаётся автоматически, используетсяSPDX-License-Identifier:(https://github.com/ansible-collections/community.crypto/pull/491).
v2.4.0
Сводка выпуска
Выпуск с предупреждением об устаревании и исправлениями ошибок. В этот раз новых функций нет.
Устаревшие функции
- Поддержка Ansible 2.9 и ansible-base 2.10 объявлена устаревшей и будет удалена в следующем основном выпуске (community.crypto 3.0.0). Некоторые модули могут продолжить работать с этими версиями и после этого, но мы больше не будем сохранять код совместимости, необходимый для их поддержки (https://github.com/ansible-collections/community.crypto/pull/460).
Исправления ошибок
- openssl_pkcs12 — при использовании бэкенда pyOpenSSL не завершает работу с ошибкой при попытке чтения отсутствующих дополнительных сертификатов (https://github.com/ansible-collections/community.crypto/issues/486, https://github.com/ansible-collections/community.crypto/pull/487).
v2.3.4
Сводка выпуска
Повторный выпуск версии, которая должна была получить номер 2.3.3.
Ошибка в процессе выпуска привела к тому, что тег 2.3.3 был присвоен коммиту для версии 1.9.17, из-за чего конвейер выпуска повторно опубликовал версию 1.9.17 как 2.3.3.
Этот выпуск идентичен версии, которая должна была стать 2.3.3, за исключением того, что номер версии увеличен до 2.3.4 и добавлена эта запись журнала изменений для 2.3.4.
v2.3.3
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Добавлен файл
Apache-2.0.txtдляplugins/module_utils/crypto/_obj2txt.pyиplugins/module_utils/crypto/_objects_data.py. - openssl_csr — модуль больше не завершается с ошибкой «permitted_subtrees/excluded_subtrees must be a non-empty list or None», если указано только одно из значений
name_constraints_permittedиname_constraints_excluded(https://github.com/ansible-collections/community.crypto/issues/481). - x509_crl — предотвращено завершение с ошибкой при подписании CRL ключами Ed25519 или Ed448 (https://github.com/ansible-collections/community.crypto/issues/473, https://github.com/ansible-collections/community.crypto/pull/474).
v2.3.2
Сводка выпуска
Выпуск с исправлениями для сопровождения и исправлениями ошибок.
Исправления ошибок
- Добавлен файл лицензии
simplified_bsd.txtдля утилит модуля ECS. - certificate_complete_chain — выполнение не прекращается при обнаружении неподдерживаемого алгоритма подписи; вместо этого выводится предупреждение (https://github.com/ansible-collections/community.crypto/pull/457).
v2.3.1
Сводка выпуска
Выпуск с исправлениями для сопровождения.
Исправления ошибок
- Добавлен файл
PSF-license.txtдляplugins/module_utils/_version.py.
v2.3.0
Сводка выпуска
Выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- Коллекция подготовлена для включения в среду выполнения (Execution Environment): объявлены её зависимости. Обратите внимание, что для cryptography и PyOpenSSL используются системные пакеты, возможности которых могут быть весьма ограничены. Если вам нужны функции из более новых версий cryptography, потребуется вручную указать pip установить более новую версию, добавив, например,
cryptography >= 37.0.0в файл зависимостей Python вашей среды выполнения (https://github.com/ansible-collections/community.crypto/pull/440). - Добавлена поддержка автоматического преобразования интернационализированных доменных имён (IDN). При передаче общих имён, например альтернативных имён субъекта, в
community.crypto.openssl_csrони будут автоматически преобразованы в IDNA. Преобразование выполняется для каждой метки: используется IDNA2008, если это возможно, и IDNA2003, если преобразование метки в IDNA2008 не удалось. Обратите внимание, что для преобразования IDNA требуется установить библиотеку Python idna. В зависимости от используемых версий библиотеки cryptography, она может повторно обработать преобразованные IDNA-данные с помощью библиотеки Pythonidnaи отклонить значения в кодировке IDNA2003. Этого можно избежать, используя достаточно новую версиюcryptography(https://github.com/ansible-collections/community.crypto/issues/426, https://github.com/ansible-collections/community.crypto/pull/436). - Модули acme_* — добавлен параметр
request_timeoutдля настройки времени ожидания HTTP(S)-запроса (https://github.com/ansible-collections/community.crypto/issues/447, https://github.com/ansible-collections/community.crypto/pull/448). - luks_devices — добавлены
perf_same_cpu_crypt,perf_submit_from_crypt_cpus,perf_no_read_workqueueиperf_no_write_workqueueдля настройки производительности при открытии контейнеров LUKS2 (https://github.com/ansible-collections/community.crypto/issues/427). - luks_devices — добавлен параметр
persistentдля открытия контейнеров LUKS2 (https://github.com/ansible-collections/community.crypto/pull/434). - openssl_csr_info — добавлен параметр
name_encodingдля управления кодировкой (IDNA, Unicode), используемой при возврате доменных имён в общих именах (https://github.com/ansible-collections/community.crypto/pull/436). - openssl_pkcs12 — закрытый ключ можно передавать в виде текста, не считывая его из файла. Это позволяет хранить закрытый ключ в зашифрованном виде, например в Ansible Vault (https://github.com/ansible-collections/community.crypto/pull/452).
- x509_certificate_info — добавлен параметр
name_encodingдля управления кодировкой (IDNA, Unicode), используемой при возврате доменных имён в общих именах (https://github.com/ansible-collections/community.crypto/pull/436). - x509_crl — добавлен параметр
name_encodingдля управления кодировкой (IDNA, Unicode), используемой при возврате доменных имён в общих именах (https://github.com/ansible-collections/community.crypto/pull/436). - x509_crl_info — добавлен параметр
name_encodingдля управления кодировкой (IDNA, Unicode), используемой при возврате доменных имён в общих именах (https://github.com/ansible-collections/community.crypto/pull/436).
Исправления ошибок
- Повышена устойчивость коллекции при использовании PyOpenSSL с несовместимой версией cryptography (https://github.com/ansible-collections/community.crypto/pull/445).
- x509_crl — исправлено завершение с ошибкой при указании
issuerдля отозванного сертификата (https://github.com/ansible-collections/community.crypto/pull/441).
v2.2.4
Сводка выпуска
Плановый выпуск с исправлениями для сопровождения.
Исправления ошибок
- Модули openssh_* — исправлена обработка исключений: теперь пользователям передаётся трассировка стека для упрощения отслеживания ошибок (https://github.com/ansible-collections/community.crypto/pull/417).
v2.2.3
Сводка выпуска
Плановый выпуск с исправлениями ошибок.
Исправления ошибок
- luks_device — исправлен разбор вывода
lsblk, если имя устройства оканчивается наcrypt(https://github.com/ansible-collections/community.crypto/issues/409, https://github.com/ansible-collections/community.crypto/pull/410).
v2.2.2
Сводка выпуска
Плановый выпуск с исправлениями ошибок.
В этом выпуске мы расширили матрицу тестирования, добавив Alpine 3, ArchLinux, Debian Bullseye и CentOS Stream 8. CentOS 8 был удалён из матрицы тестирования.
Исправления ошибок
- certificate_complete_chain — разрешено наличие нескольких потенциальных промежуточных сертификатов с одним и тем же субъектом (https://github.com/ansible-collections/community.crypto/issues/399, https://github.com/ansible-collections/community.crypto/pull/403).
- x509_certificate — для поставщика
owncaпроверяется, действительно ли закрытый ключ CA соответствует сертификату CA (https://github.com/ansible-collections/community.crypto/pull/407). - x509_certificate — сертификат пересоздаётся при изменении открытого ключа CA для
provider=ownca(https://github.com/ansible-collections/community.crypto/pull/407). - x509_certificate — сертификат пересоздаётся при изменении субъекта CA для
provider=ownca(https://github.com/ansible-collections/community.crypto/issues/400, https://github.com/ansible-collections/community.crypto/pull/402). - x509_certificate — сертификат пересоздаётся при изменении закрытого ключа для
provider=selfsigned(https://github.com/ansible-collections/community.crypto/pull/407).
v2.2.1
Сводка выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- openssh_cert — исправлена ошибочная отметка
changedу сертификатовhostпри использованииfull_idempotence(https://github.com/ansible-collections/community.crypto/issues/395, https://github.com/ansible-collections/community.crypto/pull/396).
v2.2.0
Сводка выпуска
Плановый выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- openssh_cert — добавлен параметр
ignore_timestamps, позволяющий использовать модуль с относительными временными метками вvalid_to/valid_fromв полурежиме идемпотентности (https://github.com/ansible-collections/community.crypto/issues/379).
Исправления ошибок
- luks_devices — задаются
LANGи аналогичные переменные окружения, чтобы предотвратить перевод вывода, который может нарушить работу некоторых функций модуля, например управления ключами (https://github.com/ansible-collections/community.crypto/pull/388, https://github.com/ansible-collections/community.crypto/issues/385).
v2.1.0
Сводка выпуска
Выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- Скорректированы сообщения об ошибках, указывающие на отсутствие
cryptography: теперь в них вместоCan'tиспользуетсяCannot(https://github.com/ansible-collections/community.crypto/pull/374).
Исправления ошибок
- Различные модули и плагины — используется включённая в коллекцию версия
distutils.versionвместо устаревшей стандартной библиотеки Pythondistutils(https://github.com/ansible-collections/community.crypto/pull/353). - certificate_complete_chain — корневой сертификат не добавляется повторно, если цепочка уже заканчивается корневым сертификатом (https://github.com/ansible-collections/community.crypto/pull/360).
- certificate_complete_chain — предотвращено зависание при обнаружении бесконечного цикла (https://github.com/ansible-collections/community.crypto/issues/355, https://github.com/ansible-collections/community.crypto/pull/360).
Новые модули
- community.crypto.crypto_info — получение сведений о криптографических возможностях
- community.crypto.openssl_privatekey_convert — преобразование закрытых ключей OpenSSL
v2.0.2
Сводка выпуска
Выпуск с исправлениями документации. Фактических изменений кода нет.
v2.0.1
Сводка выпуска
Выпуск с исправлениями ошибок и дополнительной обратной совместимостью с более новыми версиями cryptography.
Незначительные изменения
- Модули acme_* — исправлено использование
fetch_urlс учётом изменений в последней веткеdevelansible-core (https://github.com/ansible-collections/community.crypto/pull/339).
Исправления ошибок
- acme_certificate — предотвращена передача нескольких сертификатов загрузчику сертификатов X.509 из
cryptographyпри использованииfullchain_dest(https://github.com/ansible-collections/community.crypto/pull/324). - get_certificate, openssl_csr_info, x509_certificate_info — добавлен резервный код разбора расширений, совместимый с cryptography 36.0.0 и новее. Этот код повторно сериализует десериализованные расширения и поэтому может возвращать несколько отличающиеся значения, если расширение в исходном CSR или сертификате было канонизировано неправильно. Сейчас этот код используется в качестве резервного варианта на случай, если существующий код перестанет работать, но в будущем выпуске мы сделаем его основным (https://github.com/ansible-collections/community.crypto/pull/331).
- luks_device — теперь также запускает встроенную утилиту очистки сигнатур LUKS для
state=absent, чтобы убедиться, что при использовании старых версий wipefs стирается и вторичный заголовок LUKS2 (https://github.com/ansible-collections/community.crypto/issues/326, https://github.com/ansible-collections/community.crypto/pull/327). - openssl_pkcs12 — при наличии используется новая инфраструктура десериализации PKCS#12 из cryptography 36.0.0 (https://github.com/ansible-collections/community.crypto/pull/302).
v2.0.0
Обзор выпуска
Новый крупный выпуск коллекции community.crypto. Основные изменения — удаление бэкендов PyOpenSSL почти для всех модулей (openssl_pkcs12 — единственное исключение) и удаление провайдера assertonly из провайдера x509_certificate. Также внесены другие несовместимые изменения, которые в долгосрочной перспективе должны улучшить интерфейс и удобство работы с этой коллекцией.
Незначительные изменения
- acme_certificate — поля
subjectиissuerв записяхselect_chainтеперь проверяются строже (https://github.com/ansible-collections/community.crypto/pull/316). - openssl_csr, openssl_csr_pipe — добавлена новая опция
subject_orderedна случай, если порядок компонентов в субъекте имеет значение (https://github.com/ansible-collections/community.crypto/issues/291, https://github.com/ansible-collections/community.crypto/pull/316). - openssl_csr, openssl_csr_pipe — теперь значения опции
subjectпроверяются строже (https://github.com/ansible-collections/community.crypto/pull/316). - openssl_privatekey_info — добавлена опция
check_consistencyдля запроса проверки согласованности закрытого ключа (https://github.com/ansible-collections/community.crypto/pull/309). - x509_certificate, x509_certificate_pipe — добавлена опция
ignore_timestamps, позволяющая включить идемпотентность для параметров «not before» и «not after» (https://github.com/ansible-collections/community.crypto/issues/295, https://github.com/ansible-collections/community.crypto/pull/317). - x509_crl — добавлена новая опция
issuer_orderedна случай, если порядок компонентов издателя имеет значение (https://github.com/ansible-collections/community.crypto/issues/291, https://github.com/ansible-collections/community.crypto/pull/316). - x509_crl — теперь значения опции
issuerпроверяются строже (https://github.com/ansible-collections/community.crypto/pull/316).
Несовместимые изменения / руководство по переносу
- Изменен код разбора текста
dirNameи преобразования в текст в соответствии с разделами 2 и 3 RFC 4514. Это аналогично тому, как библиотека cryptography обрабатывает эти данные (https://github.com/ansible-collections/community.crypto/pull/274). - Утилиты модулей acme — удален код обеспечения совместимости (https://github.com/ansible-collections/community.crypto/pull/290).
- Модули acme_* — удалена поставляемая вместе с коллекцией копия библиотеки Python
ipaddress. Если вы используете Python 2.x, убедитесь, что библиотека установлена (https://github.com/ansible-collections/community.crypto/pull/287). - compatibility module_utils — удалена поставляемая вместе с коллекцией копия библиотеки Python
ipaddress(https://github.com/ansible-collections/community.crypto/pull/287). - Утилиты криптографических модулей — удален код обеспечения совместимости (https://github.com/ansible-collections/community.crypto/pull/290).
- get_certificate, openssl_csr_info, x509_certificate_info — в зависимости от используемой версии
cryptographyмодули могут возвращать не значение ASN.1 расширения, содержащееся в сертификате или CSR, а его повторно закодированную версию. Обычно она должна совпадать со значением в исходном файле, если только это значение не было некорректным. Для расширений, не обрабатываемых C(cryptography), всегда возвращается исходное значение без изменений (https://github.com/ansible-collections/community.crypto/pull/318). - module_utils — удалены различные вспомогательные функции для поддержки PyOpenSSL и значения бэкенда по умолчанию, не требуемые модулю openssl_pkcs12 (https://github.com/ansible-collections/community.crypto/pull/273).
- openssl_csr, openssl_csr_pipe, x509_crl — поля
subjectиissuerбольше не игнорируют пустые значения, а завершают работу с ошибкой при их обнаружении (https://github.com/ansible-collections/community.crypto/pull/316). - openssl_privatekey_info — по умолчанию проверки согласованности не выполняются; для их запуска необходимо явно передать
check_consistency=true(https://github.com/ansible-collections/community.crypto/pull/309). - x509_crl — при проверке идемпотентности порядок
issuerигнорируется. Если порядок имеет значение, используйте новую опциюissuer_ordered(https://github.com/ansible-collections/community.crypto/pull/316).
Устаревшие функции
- Модули acme_* — поддержка ACME версии 1 объявлена устаревшей и будет удалена в community.crypto 2.0.0 (https://github.com/ansible-collections/community.crypto/pull/288).
Удаленные функции (ранее объявленные устаревшими)
- Модули acme_* — параметр
acme_directoryтеперь является обязательным (https://github.com/ansible-collections/community.crypto/pull/290). - Модули acme_* — параметр
acme_versionтеперь является обязательным (https://github.com/ansible-collections/community.crypto/pull/290). - acme_account_facts — удалено перенаправление, объявленное устаревшим. Вместо него используйте community.crypto.acme_account_info (https://github.com/ansible-collections/community.crypto/pull/290).
- acme_account_info —
retrieve_orders=url_listбольше не возвращает значениеorders. Вместо него используйте возвращаемое значениеorder_uris(https://github.com/ansible-collections/community.crypto/pull/290). - crypto.info module_utils — удалено перенаправление, объявленное устаревшим. Вместо него используйте
crypto.pem(https://github.com/ansible-collections/community.crypto/pull/290). - get_certificate — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_certificate — удалено перенаправление, объявленное устаревшим. Вместо него используйте community.crypto.x509_certificate (https://github.com/ansible-collections/community.crypto/pull/290).
- openssl_certificate_info — удалено перенаправление, объявленное устаревшим. Вместо него используйте community.crypto.x509_certificate_info (https://github.com/ansible-collections/community.crypto/pull/290).
- openssl_csr — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_csr и openssl_csr_pipe —
versionтеперь принимает только значение 1 (используемое по умолчанию) (https://github.com/ansible-collections/community.crypto/pull/290). - openssl_csr_info — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_csr_pipe — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_privatekey — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_privatekey_info — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_privatekey_pipe — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_publickey — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_publickey_info — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_signature — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - openssl_signature_info — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - x509_certificate — удален провайдер
assertonly(https://github.com/ansible-collections/community.crypto/pull/289). - x509_certificate — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - x509_certificate_info — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273). - x509_certificate_pipe — удален бэкенд
pyopenssl(https://github.com/ansible-collections/community.crypto/pull/273).
Исправления ошибок
- Бэкенд cryptography — улучшена обработка Unicode в Python 2 (https://github.com/ansible-collections/community.crypto/pull/313).
- get_certificate — исправлена совместимость с выпуском cryptography 35.0.0 (https://github.com/ansible-collections/community.crypto/pull/294).
- openssl_csr_info — исправлена совместимость с выпуском cryptography 35.0.0 (https://github.com/ansible-collections/community.crypto/pull/294).
- openssl_pkcs12 — исправлена совместимость с выпуском cryptography 35.0.0 (https://github.com/ansible-collections/community.crypto/pull/296).
- x509_certificate_info — исправлена совместимость с выпуском cryptography 35.0.0 (https://github.com/ansible-collections/community.crypto/pull/294).
v1.9.4
Обзор выпуска
Очередной выпуск с исправлениями ошибок.
Исправления ошибок
- Модули acme_* — исправлено формирование команд для бэкенда OpenSSL, считывающих сведения о CSR и сертификатах из stdin: вместо
-теперь используется/dev/stdin. По-видимому, это необходимо для OpenSSL 1.0.1 и 1.0.2 (https://github.com/ansible-collections/community.crypto/pull/279). - acme_challenge_cert_helper — исключение теперь возвращается только в том случае, если cryptography не установлена, но не если установлена слишком старая версия. Это предотвращает сбой callback Ansible (https://github.com/ansible-collections/community.crypto/pull/281).
v1.9.3
Обзор выпуска
Очередной выпуск с исправлениями ошибок.
Исправления ошибок
- openssl_csr и openssl_csr_pipe — для сравнения строк с бэкендом cryptography теперь используются строки Unicode. Это исправляет проблемы с идемпотентностью для букв, не входящих в ASCII, в Python 2 (https://github.com/ansible-collections/community.crypto/issues/270, https://github.com/ansible-collections/community.crypto/pull/271).
v1.9.2
Обзор выпуска
Выпуск с исправлением журнала изменений. Других отличий от версии 1.9.0 нет.
v1.9.1
Обзор выпуска
Случайный выпуск версии 1.9.1. Идентичен версии 1.9.0.
v1.9.0
Обзор выпуска
Очередной выпуск с новыми функциями.
Незначительные изменения
- get_certificate — добавлена опция
starttlsдля получения сертификатов с серверов, требующих от клиентов запроса зашифрованного соединения (https://github.com/ansible-collections/community.crypto/pull/264). - openssh_keypair — добавлена поддержка
diff(https://github.com/ansible-collections/community.crypto/pull/260).
Исправления ошибок
- Утилиты модулей keypair_backend — упрощен код для прохождения проверок sanity (https://github.com/ansible-collections/community.crypto/pull/263).
- openssh_keypair — исправлен бэкенд
cryptography: при повторной генерации пары ключей с перезаписью существующих файлов сохраняются исходные права доступа к файлам (https://github.com/ansible-collections/community.crypto/pull/260). - openssh_keypair — исправлена обработка ошибок, позволяющая восстановить исходную пару ключей, если повторная генерация завершается неудачей (https://github.com/ansible-collections/community.crypto/pull/260).
- x509_crl — восстановлена унаследованная сигнатура функции для прохождения проверок sanity (https://github.com/ansible-collections/community.crypto/pull/263).
v1.8.0
Обзор выпуска
Очередной выпуск с исправлениями ошибок и новыми функциями.
Незначительные изменения
- Вместо внутренних module_utils ansible-core теперь используется эквивалентный общедоступный API, доступный как минимум с Ansible 2.9 (https://github.com/ansible-collections/community.crypto/pull/253).
- Утилиты модулей сертификатов OpenSSH — добавлены новые module_utils для разбора сертификатов OpenSSH (https://github.com/ansible-collections/community.crypto/pull/246).
- openssh_cert — добавлена опция
regenerateдля проверки дополнительных параметров сертификата, изменение которых приводит к повторной генерации существующего сертификата (https://github.com/ansible-collections/community.crypto/pull/256). - openssh_cert — добавлена поддержка
diff(https://github.com/ansible-collections/community.crypto/pull/255).
Исправления ошибок
- openssh_cert — исправлена генерация сертификата: при возникновении ошибки восстанавливается исходный сертификат (https://github.com/ansible-collections/community.crypto/pull/255).
- openssh_keypair — исправлена ошибка, из-за которой пользовательские атрибуты файла не применялись к открытым ключам (https://github.com/ansible-collections/community.crypto/pull/257).
v1.7.1
Обзор выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- openssl_pkcs12 — исправлен сбой при загрузке защищенных парольной фразой файлов PKCS#12 с бэкендом
cryptography(https://github.com/ansible-collections/community.crypto/issues/247, https://github.com/ansible-collections/community.crypto/pull/248).
v1.7.0
Обзор выпуска
Очередной выпуск с новыми функциями и исправлениями ошибок.
Незначительные изменения
- Утилиты модулей cryptography_openssh — добавлены новые module_utils для управления асимметричными парами ключей и асимметричными парами ключей в формате OpenSSH (https://github.com/ansible-collections/community.crypto/pull/213).
- openssh_keypair — добавлен параметр
backendдля выбора между библиотекой cryptography и исполняемым файлом OpenSSH при выполнении действий, выполняемых с помощьюopenssh_keypair(https://github.com/ansible-collections/community.crypto/pull/236). - openssh_keypair — добавлен параметр
passphraseдля шифрования и расшифрования закрытых ключей OpenSSH (https://github.com/ansible-collections/community.crypto/pull/225). - openssl_csr — добавлен режим diff (https://github.com/ansible-collections/community.crypto/issues/38, https://github.com/ansible-collections/community.crypto/pull/150).
- openssl_csr_info — теперь возвращает
public_key_typeиpublic_key_data(https://github.com/ansible-collections/community.crypto/pull/233). - openssl_csr_info — модуль переработан для повторного использования кода в режиме diff (https://github.com/ansible-collections/community.crypto/pull/204).
- openssl_csr_pipe — добавлен режим diff (https://github.com/ansible-collections/community.crypto/issues/38, https://github.com/ansible-collections/community.crypto/pull/150).
- openssl_pkcs12 — добавлена опция
select_crypto_backendи бэкендcryptography. Для этого требуется cryptography версии 3.0 или новее; опцииiter_sizeиmaciter_sizeне поддерживаются (https://github.com/ansible-collections/community.crypto/pull/234). - openssl_privatekey — добавлен режим diff (https://github.com/ansible-collections/community.crypto/issues/38, https://github.com/ansible-collections/community.crypto/pull/150).
- openssl_privatekey_info — модуль переработан для повторного использования кода в режиме diff (https://github.com/ansible-collections/community.crypto/pull/205).
- openssl_privatekey_pipe — добавлен режим diff (https://github.com/ansible-collections/community.crypto/issues/38, https://github.com/ansible-collections/community.crypto/pull/150).
- openssl_publickey — добавлен режим diff (https://github.com/ansible-collections/community.crypto/issues/38, https://github.com/ansible-collections/community.crypto/pull/150).
- x509_certificate — добавлен режим diff (https://github.com/ansible-collections/community.crypto/issues/38, https://github.com/ansible-collections/community.crypto/pull/150).
- x509_certificate_info — теперь возвращает
public_key_typeиpublic_key_data(https://github.com/ansible-collections/community.crypto/pull/233). - x509_certificate_info — модуль переработан для повторного использования кода в режиме diff (https://github.com/ansible-collections/community.crypto/pull/206).
- x509_certificate_pipe — добавлен режим diff (https://github.com/ansible-collections/community.crypto/issues/38, https://github.com/ansible-collections/community.crypto/pull/150).
- x509_crl — добавлен режим diff (https://github.com/ansible-collections/community.crypto/issues/38, https://github.com/ansible-collections/community.crypto/pull/150).
- x509_crl_info — добавлена опция
list_revoked_certificates, позволяющая не перечислять все отозванные сертификаты (https://github.com/ansible-collections/community.crypto/pull/232). - x509_crl_info — модуль переработан для повторного использования кода в режиме diff (https://github.com/ansible-collections/community.crypto/pull/203).
Исправления ошибок
- openssh_keypair — исправлен
check_mode: теперь возвращаемые значения заполняются для существующих пар ключей (https://github.com/ansible-collections/community.crypto/issues/113, https://github.com/ansible-collections/community.crypto/pull/230). - Различные модули — предотвращены сбои, возникавшие, когда модули пытались задать атрибуты еще не существующим файлам в режиме проверки. Эта проблема будет исправлена в ansible-core 2.12, но исправление не будет перенесено во все поддерживаемые версии Ansible (https://github.com/ansible-collections/community.crypto/issue/242, https://github.com/ansible-collections/community.crypto/pull/243).
- x509_certificate — исправлен сбой при использовании провайдера
assertonlyв случаях, когда необходимо сообщить об ошибке (https://github.com/ansible-collections/community.crypto/issues/240, https://github.com/ansible-collections/community.crypto/pull/241).
Новые модули
- community.crypto.openssl_publickey_info — предоставляет сведения об открытых ключах OpenSSL
v1.6.2
Обзор выпуска
Выпуск с исправлениями ошибок. Исправлена проблема совместимости модулей ACME со step-ca.
Исправления ошибок
- Модули acme_* — предотвращен сбой при работе с серверами ACME, в каталоге которых отсутствует ключ
meta(https://github.com/ansible-collections/community.crypto/issues/220, https://github.com/ansible-collections/community.crypto/pull/221).
v1.6.1
Обзор выпуска
Выпуск с исправлениями ошибок.
Исправления ошибок
- Модули acme_* — исправлено некорректное использование
ACMEProtocolException(https://github.com/ansible-collections/community.crypto/pull/216, https://github.com/ansible-collections/community.crypto/pull/217).
v1.6.0
Сводка выпуска
Исправлены проблемы совместимости с последней бета-версией ansible-core 2.11; также выполнен значительный внутренний рефакторинг модулей ACME и добавлена поддержка парольных фраз закрытых ключей для них.
Незначительные изменения
- acme module_utils —
acmemodule_utils разделён на несколько модулей Python (https://github.com/ansible-collections/community.crypto/pull/184). - Модули acme_* — рефакторинг кодовой базы, который не должен быть заметен конечным пользователям (https://github.com/ansible-collections/community.crypto/pull/184).
- Модули acme_* — поддержка парольных фраз ключей учётных записей для бэкенда
cryptography(https://github.com/ansible-collections/community.crypto/issues/197, https://github.com/ansible-collections/community.crypto/pull/207). - acme_certificate_revoke — поддержка отзыва с помощью закрытых ключей, защищённых парольной фразой, для бэкенда
cryptography(https://github.com/ansible-collections/community.crypto/pull/207). - acme_challenge_cert_helper — добавлен параметр
private_key_passphrase(https://github.com/ansible-collections/community.crypto/pull/207).
Устаревшие функции
- acme module_utils — модуль
acmemodule_utils (ansible_collections.community.crypto.plugins.module_utils.acme) объявлен устаревшим и будет удалён в community.crypto 2.0.0. Вместо него используйте новые модули Python из пакетаacme(ansible_collections.community.crypto.plugins.module_utils.acme.xxx) (https://github.com/ansible-collections/community.crypto/pull/184).
Исправления ошибок
- Вспомогательный плагин action_module — обеспечена совместимость с последними изменениями в ansible-core 2.11.0b3 (https://github.com/ansible-collections/community.crypto/pull/202).
- openssl_privatekey_pipe — обеспечена совместимость с последними изменениями в ansible-core 2.11.0b3 (https://github.com/ansible-collections/community.crypto/pull/202).
v1.5.0
Сводка выпуска
Очередной выпуск с новыми функциями и исправлениями ошибок. Одно возвращаемое значение объявлено устаревшим.
Незначительные изменения
- acme_account_info — если
retrieve_ordersне являетсяignoreи сервер ACME разрешает запрашивать заказы, новое возвращаемое значениеorder_urisвсегда заполняется списком URI (https://github.com/ansible-collections/community.crypto/pull/178). - luks_device — добавлена возможность указывать размер сектора для контейнеров LUKS2 с помощью нового параметра
sector_size(https://github.com/ansible-collections/community.crypto/pull/193).
Устаревшие функции
- acme_account_info — при условии
retrieve_orders=url_listзначениеordersбольше не будет возвращаться в community.crypto 2.0.0. Вместо него используйтеorder_uris(https://github.com/ansible-collections/community.crypto/pull/178).
Исправления ошибок
- openssl_csr — больше не завершается с ошибкой при сравнении CSR без базового ограничения, если задано
basic_constraints(https://github.com/ansible-collections/community.crypto/issues/179, https://github.com/ansible-collections/community.crypto/pull/180).
v1.4.0
Сводка выпуска
Выпуск с несколькими новыми функциями и исправлениями ошибок.
Незначительные изменения
- Лицензия ACME module_utils снова изменена с упрощённой лицензии BSD (https://opensource.org/licenses/BSD-2-Clause) на GPLv3+ (ту же лицензию, что используют большинство других компонентов этой коллекции). Это отменяет изменение лицензии, внесённое при переносе исходного кода под лицензией GPLv3+ в module_utils в https://github.com/ansible/ansible/pull/40697 (https://github.com/ansible-collections/community.crypto/pull/165).
- Переименован
crypto/identify.pymodule_utils вcrypto/pem.py(https://github.com/ansible-collections/community.crypto/pull/166). - luks_device —
new_keyfile,new_passphrase,remove_keyfileиremove_passphraseтеперь идемпотентны (https://github.com/ansible-collections/community.crypto/issues/19, https://github.com/ansible-collections/community.crypto/pull/168). - luks_device — добавлена возможность настраивать PBKDF (https://github.com/ansible-collections/community.crypto/pull/163).
- openssl_csr, openssl_csr_pipe — добавлена возможность указывать конечные точки распространения CRL с помощью
crl_distribution_points(https://github.com/ansible-collections/community.crypto/issues/147, https://github.com/ansible-collections/community.crypto/pull/167). - openssl_pkcs12 — добавлена возможность указывать наборы сертификатов в
other_certificatesс помощью нового параметраother_certificates_parse_all(https://github.com/ansible-collections/community.crypto/issues/149, https://github.com/ansible-collections/community.crypto/pull/166).
Исправления ошибок
- acme_certificate — теперь при отсутствии запрошенного типа проверки для непрошедших проверку задач выдаётся ошибка вместо зависания на шаге 2 (https://github.com/ansible-collections/community.crypto/issues/171, https://github.com/ansible-collections/community.crypto/pull/173).
v1.3.0
Сводка выпуска
Добавлены новые модули openssl_privatekey_pipe, openssl_csr_pipe и x509_certificate_pipe, позволяющие создавать или обновлять закрытые ключи, CSR и сертификаты X.509 без записи на диск.
Незначительные изменения
- openssh_cert — добавлен параметр модуля
use_agent, позволяющий использовать ключи подписи, хранящиеся в ssh-agent (https://github.com/ansible-collections/community.crypto/issues/116). - openssl_csr — модуль переработан для повторного использования кода в openssl_csr_pipe (https://github.com/ansible-collections/community.crypto/pull/123).
- openssl_privatekey — модуль переработан для повторного использования кода в openssl_privatekey_pipe (https://github.com/ansible-collections/community.crypto/pull/119).
- openssl_privatekey — эллиптическая кривая
secp192r1теперь вызывает предупреждение системы безопасности. Для новых ключей следует использовать эллиптические кривые размером не менее 224 бит; см. здесь (https://github.com/ansible-collections/community.crypto/pull/132). - x509_certificate — для провайдера
selfsignedCSR больше не требуется. Если CSR не предоставлен, модуль действует так, как если бы был предоставлен минимальный CSR, содержащий только открытый ключ (https://github.com/ansible-collections/community.crypto/issues/32, https://github.com/ansible-collections/community.crypto/pull/129). - x509_certificate — модуль переработан для повторного использования кода в x509_certificate_pipe (https://github.com/ansible-collections/community.crypto/pull/135).
Исправления ошибок
- openssl_pkcs12 — возвращается правильное состояние, когда
actionимеет значениеparse(https://github.com/ansible-collections/community.crypto/issues/143). - Вспомогательный код — улучшена обработка ошибок при загрузке сертификатов и запросов на подпись сертификатов (CSR) с помощью бэкенда
cryptography(https://github.com/ansible-collections/community.crypto/issues/138, https://github.com/ansible-collections/community.crypto/pull/139). - x509_certificate — исправлен провайдер
entrust, который не работал с community.crypto 0.1.0 из-за функции, добавленной до переноса коллекции (https://github.com/ansible-collections/community.crypto/pull/135).
Новые модули
- community.crypto.openssl_csr_pipe — создание запроса на подпись сертификата (CSR) OpenSSL
- community.crypto.openssl_privatekey_pipe — создание закрытых ключей OpenSSL без доступа к диску
- community.crypto.x509_certificate_pipe — создание и/или проверка сертификатов OpenSSL
v1.2.0
Сводка выпуска
Обратите внимание: в этом выпуске устранена проблема безопасности (CVE-2020-25646).
Незначительные изменения
- acme_certificate — добавлена возможность передавать файл CSR в виде содержимого с помощью нового параметра
csr_content(https://github.com/ansible-collections/community.crypto/pull/115). - x509_certificate_info — добавлено возвращаемое значение
fingerprints, содержащее отпечатки сертификата (https://github.com/ansible-collections/community.crypto/pull/121).
Исправления безопасности
- openssl_csr — параметр
privatekey_contentне был помечен какno_log, поэтому по умолчанию его значение записывалось в системный журнал и возвращалось в зарегистрированных результатах в полеinvocation(CVE-2020-25646, https://github.com/ansible-collections/community.crypto/pull/125). - openssl_privatekey_info — параметр
contentне был помечен какno_log, поэтому по умолчанию его значение записывалось в системный журнал и возвращалось в зарегистрированных результатах в полеinvocation(CVE-2020-25646, https://github.com/ansible-collections/community.crypto/pull/125). - openssl_publickey — параметр
privatekey_contentне был помечен какno_log, поэтому по умолчанию его значение записывалось в системный журнал и возвращалось в зарегистрированных результатах в полеinvocation(CVE-2020-25646, https://github.com/ansible-collections/community.crypto/pull/125). - openssl_signature — параметр
privatekey_contentне был помечен какno_log, поэтому по умолчанию его значение записывалось в системный журнал и возвращалось в зарегистрированных результатах в полеinvocation(CVE-2020-25646, https://github.com/ansible-collections/community.crypto/pull/125). - x509_certificate — параметры
privatekey_contentиownca_privatekey_contentне были помечены какno_log, поэтому по умолчанию их значения записывались в системный журнал и возвращались в зарегистрированных результатах в полеinvocation(CVE-2020-25646, https://github.com/ansible-collections/community.crypto/pull/125). - x509_crl — параметр
privatekey_contentне был помечен какno_log, поэтому по умолчанию его значение записывалось в системный журнал и возвращалось в зарегистрированных результатах в полеinvocation(CVE-2020-25646, https://github.com/ansible-collections/community.crypto/pull/125).
Исправления ошибок
- openssl_pkcs12 — больше не происходит сбой при чтении файла PKCS#12, в котором отсутствует закрытый ключ и/или основной сертификат (https://github.com/ansible-collections/community.crypto/issues/103).
v1.1.1
Сводка выпуска
Исправления ошибок для Ansible 2.10.0.
Исправления ошибок
- meta/runtime.yml — номера версий Ansible для старых имён модулей преобразуются в номера версий коллекции (https://github.com/ansible-collections/community.crypto/pull/108).
- openssl_csr — улучшена обработка ошибок IDNA (https://github.com/ansible-collections/community.crypto/issues/105).
v1.1.0
Сводка выпуска
Выпуск для Ansible 2.10.0.
Незначительные изменения
- acme_account — добавлен параметр
external_account_binding, позволяющий создавать учётные записи ACME с привязкой внешней учётной записи (External Account Binding) (https://github.com/ansible-collections/community.crypto/issues/89). - acme_certificate — добавлен новый селектор
test_certificates: firstдля параметраselect_chain(https://github.com/ansible-collections/community.crypto/pull/102). - Бэкенды cryptography — добавлена поддержка произвольных точечных OID (https://github.com/ansible-collections/community.crypto/issues/39).
- get_certificate — добавлена поддержка SNI (https://github.com/ansible-collections/community.crypto/issues/69).
- luks_device — добавлена поддержка параметров шифрования при создании контейнера (https://github.com/ansible-collections/community.crypto/pull/97).
- openssh_cert — добавлена поддержка токенов PKCS#11 (https://github.com/ansible-collections/community.crypto/pull/95).
- openssl_certificate — теперь бэкенд PyOpenSSL использует 160 бит случайных данных для серийных номеров вместо случайного числа от 1000 до 99999. Обратите внимание, что это не высококачественное случайное число (https://github.com/ansible-collections/community.crypto/issues/76).
- openssl_csr — добавлена поддержка расширения ограничений имён (https://github.com/ansible-collections/community.crypto/issues/46).
- openssl_csr_info — добавлена поддержка расширения ограничений имён (https://github.com/ansible-collections/community.crypto/issues/46).
Исправления ошибок
- acme_inspect — исправлена проблема в Python 3.5, из-за которой JSON не декодировался (https://github.com/ansible-collections/community.crypto/issues/86).
- get_certificate — исправлена обработка параметра
ca_certпри использованииproxy_host(https://github.com/ansible-collections/community.crypto/pull/84). - Модули openssl_* и x509_* — исправлена обработка общих имён, обозначающих IP-сети, а не IP-адреса (https://github.com/ansible-collections/community.crypto/pull/92).
Новые модули
- community.crypto.openssl_signature — подписание данных с помощью openssl
- community.crypto.openssl_signature_info — проверка подписей с помощью openssl
v1.0.0
Сводка выпуска
Это первый полноценный выпуск коллекции community.crypto. В этом журнале изменений перечислены все изменения модулей этой коллекции, внесённые после выпуска Ansible 2.9.0.
Незначительные изменения
- luks_device — поддерживаются
passphrase,new_passphraseиremove_passphrase. - luks_device — добавлен параметр
keysizeдля задания размера ключа при создании контейнера LUKS - luks_device — добавлена поддержка использования UUID и меток с контейнерами LUKS2
- luks_device — добавлен параметр
type, позволяющий явно задавать версию формата контейнера LUKS - openssh_keypair — вместо повторной генерации некоторых повреждённых или защищённых паролем ключей модуль завершает работу с ошибкой. Ключи по-прежнему можно повторно сгенерировать, вызвав модуль с параметром
force=yes. - openssh_keypair — параметр
regenerateпозволяет настроить поведение модуля при необходимости или намерении повторно сгенерировать закрытые ключи. - Модули openssl_* — бэкенд cryptography теперь корректно поддерживает имена
dirName,otherNameиRID(Registered ID). - openssl_certificate — добавлен параметр для выбора каталога ACME, используемого с acme-tiny. Каталог ACME по умолчанию изменён на Let’s Encrypt вместо стандартного каталога acme-tiny. (В настоящее время acme-tiny также использует Let’s Encrypt, поэтому никаких действий не требуется.)
- openssl_certificate — минимальная требуемая версия acme-tiny изменена на >= 4.0.0
- openssl_certificate — добавлена возможность передавать содержимое некоторых входных файлов с помощью параметров
csr_content,privatekey_content,ownca_privatekey_contentиownca_content. - openssl_certificate — добавлена возможность возвращать существующий/созданный сертификат напрямую как
certificate, установивreturn_contentвyes. - openssl_certificate_info — добавлена возможность передавать содержимое сертификата с помощью параметра
content(https://github.com/ansible/ansible/issues/64776). - openssl_csr — добавлена поддержка задания значения SAN
otherNameв формате строки UTF8 OpenSSL ASN.1 —otherName:<OID>;UTF8:string value. - openssl_csr — добавлена возможность передавать содержимое закрытого ключа с помощью параметра
private_key_content. - openssl_csr — добавлена возможность возвращать существующий/созданный CSR напрямую как
csr, установивreturn_contentвyes. - openssl_csr_info — добавлена возможность передавать содержимое CSR с помощью параметра
content. - openssl_dhparam — добавлена возможность возвращать существующие/созданные параметры DH напрямую как
dhparams, установивreturn_contentвyes. - openssl_dhparam — теперь поддерживается бэкенд на основе
cryptography. Автоматическое определение можно переопределить с помощью параметраselect_crypto_backend. - openssl_pkcs12 — добавлена возможность возвращать существующий/созданный PKCS#12 напрямую как
pkcs12, установивreturn_contentвyes. - openssl_privatekey — добавлены параметры
formatиformat_mismatch. - openssl_privatekey — добавлена возможность возвращать существующий/созданный закрытый ключ напрямую как
privatekey, установивreturn_contentвyes. - openssl_privatekey — параметр
regenerateпозволяет настроить поведение модуля при необходимости или намерении повторно сгенерировать закрытые ключи. - openssl_privatekey_info — добавлена возможность передавать содержимое закрытого ключа с помощью параметра
content. - openssl_publickey — добавлена возможность передавать содержимое закрытого ключа с помощью параметра
private_key_content. - openssl_publickey — добавлена возможность возвращать существующий/созданный открытый ключ напрямую как
publickey, установивreturn_contentвyes.
Устаревшие функции
- openssl_csr — все значения параметра
version, кроме1, объявлены устаревшими. Значение 1 обозначает единственную действующую стандартизированную версию CSR.
Удалённые функции (ранее объявленные устаревшими)
- Модуль
letsencryptудалён. Вместо него используйтеacme_certificate.
Исправления ошибок
- Модули ACME: исправлена ошибка в коде обновления учётных записей ACME v1
- Модули ACME: обеспечена корректная обработка некоторых ошибок подключения
- Модули ACME: добавлена поддержка конечной точки ACME v1 компании Buypass
- acme_certificate — исправлен сбой при использовании модуля с Python 2.x.
- acme_certificate — исправлено некорректное поведение при использовании ACME v1 с параметром
modify_account, установленным вfalse. - ecs_certificate — для подключений к ECS API всегда указывается заголовок
connection: keep-alive. - ecs_certificate — исправлено форматирование содержимого
full_chain_path. - get_certificate — исправлена работа бэкенда cryptography при недоступности pyopenssl (https://github.com/ansible/ansible/issues/67900)
- openssh_keypair — добавлена логика, предотвращающая повреждение ключей, защищённых паролем.
- openssh_keypair — исправлена проблема с идемпотентностью открытого ключа (https://github.com/ansible/ansible/issues/64969).
- openssh_keypair — атрибуты файла открытого ключа (права доступа, владелец, группа и т. д.) теперь устанавливаются в те же значения, что и для закрытого ключа.
- Модули openssl_* — предотвращён сбой при определении отпечатка в режиме FIPS (https://github.com/ansible/ansible/issues/67213).
- openssl_certificate — если провайдер —
entrust, для подключений к ECS API используется заголовокconnection: keep-alive. - openssl_certificate — параметр
providerбыл задокументирован как обязательный, однако его наличие не проверялось. Теперь он обязателен, только еслиstateимеет значениеpresent. - openssl_certificate — исправлена проверка сертификата провайдером
assertonly, вызывавшая ошибки «несоответствие закрытого ключа» и «несоответствие субъекта». - openssl_certificate и openssl_csr — исправлена поддержка закрытых ключей Ed25519 и Ed448 для бэкенда
cryptography. Вероятно, для этого требуется как минимум cryptography 2.8, поскольку в более ранних версиях возникают проблемы при подписании сертификатов или CSR такими ключами. (https://github.com/ansible/ansible/issues/59039, PR https://github.com/ansible/ansible/pull/63984) - openssl_csr — если для бэкенда
cryptographyиспользуется неподдерживаемое значениеversion, выводится предупреждение. - openssl_csr — теперь модуль проверяет, что параметр
privatekey_pathзадан, еслиstate=present. - openssl_publickey — исправлен сбой модуля, возникавший при отсутствии установленного pyOpenSSL (https://github.com/ansible/ansible/issues/67035).
Новые модули
- community.crypto.ecs_domain — запрос проверки домена с помощью API Entrust Certificate Services (ECS)
- community.crypto.x509_crl — создание списков отзыва сертификатов (CRL)
- community.crypto.x509_crl_info — получение сведений о списках отзыва сертификатов (CRL)
© 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/changelog.html