community.crypto.acme_certificate_renewal_info 模块 – 判断是否需要续期证书
注意
此模块是 community.crypto 集合 (版本 2.22.3) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.crypto
。您需要其他要求才能使用此模块,有关详细信息,请参见 需求。
要在剧本中使用它,请指定: community.crypto.acme_certificate_renewal_info
。
community.crypto 2.20.0中的新增功能
概要
使用各种信息来判断是否需要续期证书。
如果可用,则使用ARI扩展(ACME续期信息,https://datatracker.ietf.org/doc/draft-ietf-acme-ari/)。此模块实现了ARI草案的版本3。”
需求
执行此模块的主机需要以下需求。
openssl 或 cryptography >= 1.5
ipaddress
参数
参数 |
注释 |
---|---|
要使用的ACME目录。这是访问ACME CA服务器API的入口点URL。 出于安全原因,默认设置为Let's Encrypt暂存服务器(用于ACME v1协议)。这将创建技术上正确但不受信任的证书。 对于Let's Encrypt,所有暂存端点都可以在此处找到:https://letsencrypt.openssl.ac.cn/docs/staging-environment/。对于Buypass,所有端点都可以在此处找到:https://community.buypass.com/t/63d4ay/buypass-go-ssl-endpoints 对于**Let's Encrypt**,ACME v2的生产目录URL是https://acme-v02.api.letsencrypt.org/directory。 对于**Buypass**,ACME v2和v1的生产目录URL是https://api.buypass.com/acme/directory。 对于**ZeroSSL**,ACME v2的生产目录URL是https://acme.zerossl.com/v2/DV90。 对于**Sectigo**,ACME v2的生产目录URL是https://acme-qa.secure.trust-provider.com/v2/DV。 此模块的注释包含已针对其测试过此模块的ACME服务的列表。 |
|
端点的ACME版本。 对于经典的Let's Encrypt和Buypass ACME端点,必须为 自community.crypto 2.0.0起,值 选项
|
|
如果使用ARI信息,则选择用于确定是否立即续期的算法。
选项
|
|
确定是否需要续订X.509证书的内容。 |
|
用于确定是否需要续订的X.509证书的路径。 如果证书不存在,模块将始终返回 |
|
使用此时间戳代替当前时间戳来确定是否应续订证书。 时间可以指定为相对时间或绝对时间戳。 时间始终解释为UTC。 有效格式为 |
|
证书剩余有效的天数。 例如,如果 |
|
证书有效期应剩余的百分比。 例如,如果 必须是0到1之间的值。 |
|
Ansible应等待ACME API响应的时间。 此超时适用于所有HTTP(S)请求(HEAD、GET、POST)。 默认值: |
|
确定要使用的加密后端。 默认选择为 如果设置为 如果设置为 选项
|
|
是否使用ARI信息(如果可用)。 如果ACME服务器以与该模块不兼容的方式实现ARI,请将其设置为 选项
|
|
对ACME目录的调用是否验证TLS证书。 警告: 仅应出于测试目的将其设置为 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全支持 此操作不会修改状态。 |
可以在 |
|
支持: N/A 此操作不会修改状态。 |
在差异模式下,将返回有关已更改内容(或可能需要在 |
备注
注意
尽管默认值的选择使得该模块可以与 Let’s Encrypt CA一起使用,但原则上该模块可以与任何提供ACME端点的CA一起使用,例如 Buypass Go SSL。
到目前为止,ACME模块仅由开发人员针对Let’s Encrypt(暂存和生产)、Buypass(暂存和生产)、ZeroSSL(生产)和 Pebble测试服务器进行了测试。我们收到了社区反馈,他们也适用于Sectigo ACME Service for InCommon。如果您在其他ACME服务器上遇到问题,请 创建问题 以帮助我们支持它。我们也欢迎您反馈未提及的ACME服务器是否可用。
如果可用的
cryptography
库版本足够新(有关详细信息,请参阅要求),它将代替openssl
二进制文件使用。可以使用select_crypto_backend
选项显式禁用或启用此功能。请注意,使用openssl
二进制文件会比较慢。
另请参阅
另请参阅
- community.crypto.acme_certificate
允许使用ACME协议获取证书
- community.crypto.acme_ari_info
获取证书的续订信息
示例
- name: Retrieve renewal information for a certificate
community.crypto.acme_certificate_renewal_info:
certificate_path: /etc/httpd/ssl/sample.com.crt
register: cert_data
- name: Should the certificate be renewed?
ansible.builtin.debug:
var: cert_data.should_renew
返回值
公共返回值已记录在 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
有关续订原因的信息。 应向用户显示,因为在由ARI触发的续订情况下,它可能包含重要信息,例如有关错误颁发的证书的强制吊销信息。 返回:成功 示例: |
|
是否应续订证书。 如果没有提供证书,或者证书已过期,则始终为 返回:成功 示例: |
|
是否使用ARI信息来确定续订。这可以用来确定是否为 community.crypto.acme_certificate 模块指定 如果 返回:成功 示例: |