Community.Crypto 发行说明
v2.22.3
发行摘要
错误修复版本。
错误修复
acme_* 模块 - 当使用 OpenSSL 后端时,在 Python 代码中显式使用 UTC 时区 (https://github.com/ansible-collections/community.crypto/pull/811)。
time 模块实用程序 - 修复了将朴素
datetime
对象转换为 Python 3 的 UNIX 时间戳的问题 (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 - 为
cipher
选项添加默认值auto
,这恰好是此选项唯一支持的值。 因此,在提供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 时,对于
InvalidityDate
X.509 CRL 扩展,请使用时区感知datetime.datetime
对象(使用 UTC 时区)而不是时区朴素的 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 续订信息规范草案请求续订特定证书 (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 模块实用程序 - ACME 加密后端的
get_cert_information()
方法必须从 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 续订信息 (ARI)。
community.crypto.acme_certificate_deactivate_authz - 为 ACME v2 订单停用所有 authz。
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
选项为空并允许根据续订信息规范续订特定证书的问题 (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 时,避免使用 Python 3.12 中已弃用的 UTC 函数 (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
来实现此行为。如果您认为这会破坏此模块的用例,请在 community.crypto 存储库中创建一个 issue (https://github.com/ansible-collections/community.crypto/issues/712, https://github.com/ansible-collections/community.crypto/pull/714)。
错误修复
luks_device - 修复了一个阻止使用值为
0
的remove_keyslot
的模块错误 (https://github.com/ansible-collections/community.crypto/pull/710)。luks_device - 修复了在尝试添加新槽时,如果密钥已存在于另一个槽中,模块错误地输出
changed=false
的问题。该模块现在会拒绝添加已存在于另一个槽中的密钥 (https://github.com/ansible-collections/community.crypto/pull/710)。luks_device - 修复了在为 cryptsetup 版本 2.0.3 指定密钥槽时对 LUKS 密码的测试。此 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
后端时,使用内部函数而不是公共 API 来加载 DH 参数文件。内部函数在 cryptography 42.0.0 中被移除。该模块现在使用公共 API,该 API 自 cryptography 添加 DH 参数支持以来就已可用(https://github.com/ansible-collections/community.crypto/pull/698)。openssl_privatekey_info - 对于 cryptography 42.0.0+,
check_consistency=true
不再适用于 RSA 密钥(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_* 模块 - 使账户注册处理更加灵活,以便在账户不存在时接受 DigiCert 的 ACME 端点发送的 404 而不是 400(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 -
asn1_base64
选项的默认值false
已弃用,并且将在 community.crypto 3.0.0 中更改为true
(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 语义标记。如果你使用 2.15 之前的 ansible-core 的 ansible-doc CLI 工具查看文档,请注意它不会正确渲染标记。在大多数情况下你仍然能够阅读它,但是你需要 ansible-core 2.15 或更高版本才能按预期查看它。或者,你可以查看开发文档站点,以获取最新版本的文档的渲染 HTML 版本。
缺陷修复
修复了 PEM 检测/识别,以也接受以
-----BEGIN
开头的行之前的其他随机行(https://github.com/ansible-collections/community.crypto/issues/627,https://github.com/ansible-collections/community.crypto/pull/628)。
已知问题
对于 2.15 之前的 ansible-core,Ansible 标记将以原始形式显示在 ansible-doc 文本输出中。如果你无法解读文档标记,请升级到 ansible-core 2.15(或更新版本),或阅读 https://docs.ansible.org.cn/ansible/devel/collections/community/crypto/ 上的 HTML 文档。
v2.14.0
版本摘要
功能发布版本。
次要变更
acme_certificate - 允许通过为
challenge
选项提供no challenge
来使用无挑战。这对于不需要挑战即可完成验证的 ACME 服务器是必需的(https://github.com/ansible-collections/community.crypto/issues/613,https://github.com/ansible-collections/community.crypto/pull/615)。acme_certificate - 并行验证和等待挑战,而不是一个接一个地处理它们(https://github.com/ansible-collections/community.crypto/pull/617)。
x509_certificate_info - 在使用
path
参数时添加了对 DER 格式证书的支持(https://github.com/ansible-collections/community.crypto/issues/603)。
v2.13.1
发布摘要
错误修复版本。
错误修复
执行环境定义 - 修复在 CentOS 和 RHEL 上安装
python3-pyOpenSSL
包的问题 (https://github.com/ansible-collections/community.crypto/pull/606)。执行环境定义 - 修复 Rocky Linux 9+ 的
python3-pyOpenSSL
包的来源问题 (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
代替。mode
选项在 community.crypto 3.0.0 版本中将更改其含义,并改为指代 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 - 修复由于
AnsibleModule
现在正在验证mode
参数的值而导致的 ansible-core 2.16 问题 (https://github.com/ansible-collections/community.crypto/issues/596)。
v2.12.0
发布摘要
功能发布版本。
次要更改
get_certificate - 添加
asn1_base64
选项来控制extensions
返回值中包含的 ASN.1 是二进制数据还是 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)。
错误修复
操作插件助手 - 修复 ansible-core 2.14.2 中弃用处理问题 (https://github.com/ansible-collections/community.crypto/pull/572)。
执行环境二进制依赖项 (bindep.txt) - 修复 RHEL 9+ / CentOS Stream 9+ 平台上的
python3-pyOpenSSL
依赖项解析问题 (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 - 从 PEM 格式的 OpenSSL 公钥中检索信息
community.crypto.split_pem - 将 PEM 文件内容拆分为多个对象
community.crypto.x509_certificate_info - 从 PEM 格式的 X.509 证书中检索信息
community.crypto.x509_crl_info - 从 PEM 格式的 X.509 CRL 中检索信息
v2.9.0
发布摘要
定期功能发布。
次要更改
x509_certificate_info - 根据授权信息访问数据在返回值中添加
issuer_uri
字段 (https://github.com/ansible-collections/community.crypto/pull/530)。
v2.8.1
发布摘要
维护版本,改进了文档。
v2.8.0
发布摘要
功能发布版本。
次要更改
acme_* 模块 - 如果 CA 的新 nonce 调用不返回 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
选项,当使用 cryptography >= 38.0.0 时,可以选择compatibility2022
来启用更向后兼容的加密算法。如果 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 服务不可用和 408 请求超时响应状态以进行自动重试 (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 请求过多响应状态 (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 - 如果仅提供了
name_constraints_permitted
和name_constraints_excluded
中的一个,则该模块不再因“permitted_subtrees/excluded_subtrees 必须是非空列表或 None”而崩溃 (https://github.com/ansible-collections/community.crypto/issues/481)。x509_crl - 使用 Ed25519 或 Ed448 密钥签署 CRL 时不会崩溃 (https://github.com/ansible-collections/community.crypto/issues/473, https://github.com/ansible-collections/community.crypto/pull/474)。
v2.3.2
发布摘要
维护和错误修复版本。
错误修复
为 ECS 模块实用程序包含
simplified_bsd.txt
许可证文件。certificate_complete_chain - 如果遇到不受支持的签名算法,不会停止执行,而是发出警告 (https://github.com/ansible-collections/community.crypto/pull/457)。
v2.3.1
发布摘要
维护版本。
错误修复
为
plugins/module_utils/_version.py
包含PSF-license.txt
文件。
v2.3.0
发布摘要
功能和错误修复版本。
次要更改
通过声明其依赖项,为包含在执行环境中准备集合。请注意,系统软件包用于密码学和 PyOpenSSL,这可能相当有限。如果您需要更新的密码学版本中的功能,则必须通过 pip 手动强制安装较新的版本,方法是在执行环境的 Python 依赖项文件中指定类似
cryptography >= 37.0.0
的内容 (https://github.com/ansible-collections/community.crypto/pull/440)。支持国际化域名 (IDN) 的自动转换。当传递通用名称时,例如将主题备用名称传递给
community.crypto.openssl_csr
,这些名称将自动转换为 IDNA。如果可能,将按标签转换为 IDNA2008,如果 IDNA2008 转换失败,则转换为 IDNA2003。请注意,IDNA 转换需要安装 Python idna 库。请注意,根据所使用的密码学库的版本,它可能会尝试使用 Pythonidna
库再次处理转换后的 IDNA,并拒绝 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 - 在打开 LUKS2 容器时添加了
persistent
选项 (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 与不兼容的密码学版本一起使用时,使集合更健壮 (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 - 修复当设备名称以
crypt
结尾时解析lsblk
输出的问题 (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 - 修复了当使用
full_idempotence
时host
证书的错误changed
状态 (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
的供应商版本,而不是已弃用的 Python 标准库distutils
(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_* 模块 - 修复了在最新的 ansible-core
devel
分支中使用fetch_url
的问题 (https://github.com/ansible-collections/community.crypto/pull/339)。
错误修复
acme_certificate - 当使用
fullchain_dest
时,避免将多个证书传递给cryptography
的 X.509 证书加载器 (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 - 现在还在
state=absent
上运行内置的 LUKS 签名清理器,以确保在使用较旧版本的 wipefs 时也擦除辅助 LUKS2 标头 (https://github.com/ansible-collections/community.crypto/issues/326, https://github.com/ansible-collections/community.crypto/pull/327)。openssl_pkcs12 - 如果可用,则使用 cryptography 36.0.0 中的新 PKCS#12 反序列化基础设施 (https://github.com/ansible-collections/community.crypto/pull/302)。
v2.0.0
版本摘要
community.crypto
集合的新主要版本。主要更改是删除几乎所有模块的 PyOpenSSL 后端(openssl_pkcs12
是唯一的例外),并删除 x509_certificate
提供程序中的 assertonly
提供程序。还有一些其他的重大更改,应该可以长期改善此集合的用户界面/体验。
次要更改
acme_certificate -
select_chain
条目中的subject
和issuer
字段现在经过更严格的验证 (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
文本解析和文本转换代码,使其符合 RFC 4514 的第 2 节和第 3 节。这类似于 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)。兼容性 module_utils - 删除了 Python 库
ipaddress
的供应商副本 (https://github.com/ansible-collections/community.crypto/pull/287)。crypto 模块实用程序 - 删除兼容性代码 (https://github.com/ansible-collections/community.crypto/pull/290)。
get_certificate, openssl_csr_info, x509_certificate_info - 根据使用的
cryptography
版本,模块可能不会返回证书或 CSR 中包含的扩展的 ASN.1 值,而是返回其重新编码的版本。这通常应与源文件中包含的值相同,除非该值格式错误。对于 C(cryptography) 未处理的扩展,始终返回源文件中包含的未更改的值 (https://github.com/ansible-collections/community.crypto/pull/318)。module_utils - 删除了 openssl_pkcs12 模块不需要的各种 PyOpenSSL 支持函数和默认后端值 (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 模块实用程序 - 已删除已弃用的重定向。请改用
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)。
Bug 修复
cryptography 后端 - 改进了 Python 2 的 Unicode 处理 (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
发布摘要
常规错误修复版本。
Bug 修复
acme_* 模块 - 修复了为 OpenSSL 后端组成的命令,用于从 stdin 检索有关 CSR 和证书的信息,以使用
/dev/stdin
而不是-
。这对于 OpenSSL 1.0.1 和 1.0.2 来说是必需的,显然 (https://github.com/ansible-collections/community.crypto/pull/279)。acme_challenge_cert_helper - 仅当未安装 cryptography 时返回异常,而不是当安装的版本过旧时返回异常。这可以防止 Ansible 的回调崩溃 (https://github.com/ansible-collections/community.crypto/pull/281)。
v1.9.3
发行说明
常规错误修复版本。
错误修复
openssl_csr 和 openssl_csr_pipe - 确保使用 Unicode 字符串与 cryptography 后端进行字符串比较。这修复了 Python 2 上非 ASCII 字母的幂等性问题 (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 模块实用程序 - 简化代码以通过健全性测试 (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 - 恢复继承的函数签名以通过健全性测试 (https://github.com/ansible-collections/community.crypto/pull/263)。
v1.8.0
发行说明
常规错误修复和功能发布。
小改动
避免使用内部 ansible-core module_utils,转而使用至少从 Ansible 2.9 开始提供的等效公共 API (https://github.com/ansible-collections/community.crypto/pull/253)。
openssh 证书模块实用程序 - 用于解析 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 - 修复了在使用
cryptography
后端加载受密码保护的 PKCS#12 文件时发生的崩溃 (https://github.com/ansible-collections/community.crypto/issues/247, https://github.com/ansible-collections/community.crypto/pull/248)。
v1.7.0
发行说明
定期功能和错误修复版本。
小改动
cryptography_openssh 模块实用程序 - 用于管理非对称密钥对和 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)。
Bugfixes(Bug修复)
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
发布摘要
Bug修复版本。修复了 ACME 模块与 step-ca 的兼容性问题。
Bug修复
acme_* 模块 - 避免在
meta
目录键不存在的 ACME 服务器上崩溃 (https://github.com/ansible-collections/community.crypto/issues/220, https://github.com/ansible-collections/community.crypto/pull/221)。
v1.6.1
发布摘要
错误修复版本。
Bug修复
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 beta 的兼容性问题,并包含 ACME 模块的大量内部重构以及对它们的私钥密码短语的支持。
次要更改
acme module_utils -
acme
module_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 -
acme
module_utils (ansible_collections.community.crypto.plugins.module_utils.acme
) 已弃用,将在 community.crypto 2.0.0 中删除。请改用acme
包中的新 Python 模块 (ansible_collections.community.crypto.plugins.module_utils.acme.xxx
) (https://github.com/ansible-collections/community.crypto/pull/184)。
Bug修复
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
发布摘要
常规功能和 Bug 修复版本。弃用返回值。
次要更改
acme_account_info - 当
retrieve_orders
不是ignore
并且 ACME 服务器允许查询订单时,新的返回值order_uris
始终填充 URI 列表 (https://github.com/ansible-collections/community.crypto/pull/178)。luks_device - 允许使用新的
sector_size
参数为 LUKS2 容器指定扇区大小 (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)。
Bug修复
openssl_csr - 当指定
basic_constraints
时,比较没有基本约束的 CSR 不再失败 (https://github.com/ansible-collections/community.crypto/issues/179, https://github.com/ansible-collections/community.crypto/pull/180)。
v1.4.0
发布摘要
包含多个新功能和 Bug 修复的版本。
次要更改
ACME module_utils 已从简化 BSD 许可证 (https://opensource.org/licenses/BSD-2-Clause) 重新授权回 GPLv3+ (与此集合中大多数其他代码使用的许可证相同)。这撤消了原始 GPLv3+ 许可的代码在 https://github.com/ansible/ansible/pull/40697 中移至 module_utils 时的许可更改 (https://github.com/ansible-collections/community.crypto/pull/165)。
crypto/identify.py
module_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_distribution_points
指定 CRL 分发端点 (https://github.com/ansible-collections/community.crypto/issues/147, https://github.com/ansible-collections/community.crypto/pull/167)。openssl_pkcs12 - 允许通过使用新选项
other_certificates_parse_all
在other_certificates
中指定证书包 (https://github.com/ansible-collections/community.crypto/issues/149, https://github.com/ansible-collections/community.crypto/pull/166)。
Bug修复
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 - 对于
selfsigned
提供程序,不再需要 CSR。如果没有提供 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)。
Bug 修复
openssl_pkcs12 - 当
action
为parse
时,报告正确的状态 (https://github.com/ansible-collections/community.crypto/issues/143)。支持代码 - 当发生错误时,改进使用
cryptography
后端加载证书和证书签名请求 (CSR) 的处理 (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 - 生成 OpenSSL 证书签名请求 (CSR)
community.crypto.openssl_privatekey_pipe - 生成 OpenSSL 私钥,无需磁盘访问
community.crypto.x509_certificate_pipe - 生成和/或检查 OpenSSL 证书
v1.2.0
发布摘要
请注意,此版本修复了一个安全问题 (CVE-2020-25646)。
次要变更
acme_certificate - 允许使用新选项
csr_content
传递 CSR 文件作为内容 (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)。
Bug 修复
openssl_pkcs12 - 读取没有私钥和/或主证书的 PKCS#12 文件时不会崩溃 (https://github.com/ansible-collections/community.crypto/issues/103)。
v1.1.1
发布摘要
针对 Ansible 2.10.0 的 Bug 修复。
Bug 修复
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 帐户 (https://github.com/ansible-collections/community.crypto/issues/89)。acme_certificate - 允许为
select_chain
参数使用新的选择器test_certificates: first
(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)。
Bug 修复
acme_inspect - 修复了 Python 3.5 中 JSON 未解码的问题 (https://github.com/ansible-collections/community.crypto/issues/86)。
get_certificate - 修复了当使用
proxy_host
时ca_cert
选项的处理问题 (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
(注册 ID)名称。openssl_certificate - 添加选项以更改使用 acme-tiny 的 ACME 目录。将默认 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 - 允许通过将
return_content
设置为yes
来直接将现有/生成的证书作为certificate
返回。openssl_certificate_info - 允许通过
content
选项提供证书内容 (https://github.com/ansible/ansible/issues/64776)。openssl_csr - 添加对在 OpenSSL ASN.1 UTF8 字符串格式中指定 SAN
otherName
值的支持,otherName:<OID>;UTF8:string value
。openssl_csr - 允许通过
private_key_content
选项提供私钥内容。openssl_csr - 允许通过将
return_content
设置为yes
来直接将现有/生成的 CSR 作为csr
返回。openssl_csr_info - 允许通过
content
选项提供 CSR 内容。openssl_dhparam - 允许通过将
return_content
设置为yes
来直接将现有/生成的 DH 参数作为dhparams
返回。openssl_dhparam - 现在支持基于
cryptography
的后端。可以使用select_crypto_backend
选项覆盖自动检测。openssl_pkcs12 - 允许通过将
return_content
设置为yes
来直接将现有/生成的 PKCS#12 作为pkcs12
返回。openssl_privatekey - 添加
format
和format_mismatch
选项。openssl_privatekey - 允许通过将
return_content
设置为yes
来直接将现有/生成的私钥作为privatekey
返回。openssl_privatekey -
regenerate
选项允许配置模块在应该或需要重新生成私钥时的行为。openssl_privatekey_info - 允许通过
content
选项提供私钥内容。openssl_publickey - 允许通过
private_key_content
选项提供私钥内容。openssl_publickey - 允许通过将
return_content
设置为yes
来直接将现有/生成的公钥作为publickey
返回。
已弃用的功能
openssl_csr -
version
选项的所有值(1
除外)都已弃用。值 1 表示当前唯一的标准化 CSR 版本。
已删除的功能(先前已弃用)
已删除
letsencrypt
模块。请改用acme_certificate
。
Bug 修复
ACME 模块:修复了 ACME v1 帐户更新代码中的错误
ACME 模块:确保正确处理一些连接错误
ACME 模块:支持 Buypass 的 ACME v1 端点
acme_certificate - 修复了在 Python 2.x 中使用模块时发生的崩溃问题。
acme_certificate - 修复了当 ACME v1 与设置为
false
的modify_account
一起使用时的错误行为。ecs_certificate - 始终为 ECS API 连接指定标头
connection: keep-alive
。ecs_certificate - 修复了
full_chain_path
内容的格式。get_certificate - 修复了当 pyopenssl 不可用时的 cryptography 后端 (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 - 修复了
cryptography
后端的 Ed25519 和 Ed448 私钥支持。这可能至少需要 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 - 模块现在将强制当
state=present
时指定privatekey_path
。openssl_publickey - 修复了未安装 pyOpenSSL 时导致的模块崩溃 (https://github.com/ansible/ansible/issues/67035)。
新模块
community.crypto.ecs_domain - 使用 Entrust 证书服务 (ECS) API 请求验证域
community.crypto.x509_crl - 生成证书吊销列表 (CRL)
community.crypto.x509_crl_info - 检索有关证书吊销列表 (CRL) 的信息