community.crypto.acme_ari_info 模块 – 获取证书的 ACME 更新信息 (ARI)

注意

此模块是 community.crypto 集合 (版本 2.22.3) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.crypto。您需要其他要求才能使用此模块,有关详细信息,请参见 要求

要在 playbook 中使用它,请指定: community.crypto.acme_ari_info

community.crypto 2.20.0 中的新增功能

概要

要求

执行此模块的主机需要以下要求。

参数

参数

注释

acme_directory

字符串 / 必需

要使用的 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_version

整数 / 必需

端点的 ACME 版本。

对于经典的 Let’s Encrypt 和 Buypass ACME 端点,必须为 1,对于标准化的 ACME v2 端点,必须为 2

自 community.crypto 2.0.0 起,1 值已弃用,并将从 community.crypto 3.0.0 中删除。

选项

  • 1

  • 2

certificate_content

字符串

要请求信息的 X.509 证书的内容。

必须提供 certificate_pathcertificate_content 中的一个。

certificate_path

路径

要请求信息的 X.509 证书的路径。

必须提供 certificate_pathcertificate_content 中的一个。

request_timeout

整数

在 community.crypto 2.3.0 中添加

Ansible 应等待 ACME API 响应的时间。

此超时适用于所有 HTTP(S) 请求 (HEAD、GET、POST)。

默认值: 10

select_crypto_backend

字符串

确定要使用的加密后端。

默认选择是 auto,如果可用,它会尝试使用 cryptography,否则会回退到 openssl

如果设置为 openssl,将尝试使用 openssl 二进制文件。

如果设置为 cryptography,将尝试使用 cryptography 库。

选项

  • "auto" ← (默认)

  • "cryptography"

  • "openssl"

validate_certs

布尔值

是否对 ACME 目录的调用验证 TLS 证书。

警告: 仅应在测试目的(例如,针对本地 Pebble 服务器进行测试)时将其设置为 false

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持:完全支持

此操作不会修改状态。

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持: N/A

此操作不会修改状态。

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

备注

注意

  • 尽管默认值的选择使得该模块可以与 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_certificate_revoke

允许使用 ACME 协议吊销证书

示例

- name: Retrieve renewal information for a certificate
  community.crypto.acme_ari_info:
    certificate_path: /etc/httpd/ssl/sample.com.crt
  register: cert_data

- name: Show the certificate renewal information
  ansible.builtin.debug:
    var: cert_data.renewal_info

返回值

常用返回值已在 此处 记录,以下是此模块特有的字段

描述

renewal_info

字典

explanationURL

字符串

指向可能解释建议的续期窗口原因的页面的 URL。

例如,它可能是一个解释 CA 动态负载均衡策略的页面,或记录哪些证书受批量吊销事件影响的页面。应向用户显示。

返回:取决于 ACME 服务器

示例: "https://example.com/docs/ari"

retryAfter

字符串

在请求此信息之前不应进行下一次重试的时间戳。

返回:取决于 ACME 服务器

示例: "2024-04-29T01:17:10.236921+00:00"

suggestedWindow

字典

描述应续期证书的窗口。

返回:始终返回

end

字符串

应续期证书的窗口的结束时间。

格式在 RFC 3339 中指定。

返回:始终返回

示例: "2021-01-03T00:00:00Z"

start

字符串

应续期证书的窗口的开始时间。

格式在 RFC 3339 中指定。

返回:始终返回

示例: "2021-01-03T00:00:00Z"

作者

  • Felix Fontein (@felixfontein)