community.crypto.acme_certificate_renewal_info 模块 – 确定是否应续订证书
注意
此模块是 community.crypto 集合(版本 2.22.3)的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.crypto
。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定: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 端点,必须为 值 选项
|
|
如果使用 ARI 信息,则选择使用哪种算法来确定是否立即续订。
选项
|
|
用于确定续订的 X.509 证书的内容。
|
|
用于确定续订的 X.509 证书的路径。 如果证书不存在,模块将始终返回
|
|
使用此时间戳而不是当前时间戳来确定是否应续订证书。 时间可以指定为相对时间或绝对时间戳。 时间将始终解释为 UTC 时间。 有效格式为 |
|
证书必须保持有效的剩余天数。 例如,如果 |
|
证书有效期应剩余的百分比。 例如,如果 必须是 0 到 1 之间的值。 |
|
Ansible 应该等待 ACME API 响应的时间。 此超时应用于所有 HTTP(S) 请求(HEAD、GET、POST)。 默认值: |
|
确定要使用的加密后端。 默认选择是 如果设置为 如果设置为 选项
|
|
是否使用 ARI 信息(如果可用)。 如果 ACME 服务器实现 ARI 的方式与此模块不兼容,则将其设置为 选项
|
|
对 ACME 目录的调用是否会验证 TLS 证书。 警告: 仅应出于测试目的将其设置为 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全 此操作不会修改状态。 |
可以在 |
|
支持:不适用 此操作不会修改状态。 |
在差异模式下运行时,将返回有关已更改的内容(或可能需要在 |
注意
注意
虽然选择的默认值是为了使该模块可以与 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 规范的证书 ID。 已返回: 成功,证书存在,并且具有 Authority Key Identifier X.509 扩展 示例: |
|
有关续订原因的信息。 应向用户显示,因为在 ARI 触发续订的情况下,它可能包含重要信息,例如有关错误颁发证书的强制撤销的信息。 已返回: 成功 示例: |
|
是否应续订证书。 如果未提供证书或证书已过期,则始终为 已返回: 成功 示例: |
|
是否使用 ARI 信息来确定续订。这可以用来确定是否为 community.crypto.acme_certificate 模块指定 如果 已返回: 成功 示例: |