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

1 从 community.crypto 2.0.0 开始已弃用,并将从 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 证书。

警告: 仅应在出于测试目的时才将此项设置为 false,例如在针对本地 Pebble 服务器进行测试时。

选择

  • false

  • true ←(默认)

属性

属性

支持

描述

check_mode

支持: 完整

此操作不会修改状态。

可以在 check_mode 中运行,并返回已更改的状态预测,而无需修改目标。

diff_mode

支持: 不适用

此操作不会修改状态。

当处于 diff 模式时,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

备注

注意

  • 尽管默认设置是为了使该模块可以与 Let’s Encrypt CA 一起使用,但原则上该模块可以与任何提供 ACME 端点的 CA 一起使用,例如 Buypass Go SSL

  • 到目前为止,ACME 模块仅由开发人员针对 Let’s Encrypt(测试和生产环境)、Buypass(测试和生产环境)、ZeroSSL(生产环境)和 Pebble 测试服务器进行了测试。我们收到了社区反馈,表明它们也适用于 Sectigo ACME Service for InCommon。如果您在使用其他 ACME 服务器时遇到问题,请创建一个 issue 以帮助我们支持它。我们也欢迎反馈未提及的 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)