community.crypto.acme_account_info 模块 – 获取 ACME 账户信息
注意
此模块是 community.crypto 集合(版本 2.22.3)的一部分。
如果您使用的是 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.crypto
。您需要其他要求才能使用此模块,有关详细信息,请参阅要求。
要在 playbook 中使用它,请指定:community.crypto.acme_account_info
。
概要
允许检索支持 ACME 协议的 CA(例如 Let’s Encrypt)上的帐户信息。
此模块仅适用于 ACME v2 协议。
要求
执行此模块的主机需要满足以下要求。
openssl 或 cryptography >= 1.5
ipaddress
参数
参数 |
注释 |
---|---|
ACME 帐户 RSA 或椭圆曲线密钥的内容。 与 如果未使用 警告: 该内容将被写入临时文件,该文件将在模块完成后被 Ansible 删除。由于这是一个重要的私钥 - 可以用于更改帐户密钥,或者在不知道其私钥的情况下撤销您的证书 - 这可能是不可接受的。 如果使用 |
|
用于解码帐户密钥的密码。 注意: |
|
包含 ACME 帐户 RSA 或椭圆曲线密钥的文件的路径。 可以使用 community.crypto.openssl_privatekey 或 community.crypto.openssl_privatekey_pipe 模块创建私钥。如果必备条件 (cryptography) 不可用,也可以直接使用 与 如果未使用 |
|
如果指定,则假定帐户 URI 与给定 URI 相同。如果帐户密钥与此帐户不匹配,或者不存在具有此 URI 的帐户,则模块将失败。 |
|
要使用的 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 端点,必须为 值 选项
|
|
Ansible 应等待 ACME API 响应的时间。 此超时应用于所有 HTTP(S) 请求(HEAD、GET、POST)。 默认值: |
|
是否检索订单 URL 列表或订单对象(如果 ACME 服务器提供)。 值为 如果该值不是 目前,Let's Encrypt 不返回订单,因此 选项
|
|
确定要使用的加密后端。 默认选项是 如果设置为 如果设置为 选项
|
|
调用 ACME 目录时是否验证 TLS 证书。 警告: 仅应出于测试目的(例如,在针对本地 Pebble 服务器进行测试时)将其设置为 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
操作组: community.crypto.acme, acme |
在 |
|
支持:完整 此操作不会修改状态。 |
可以在 |
|
支持: 不适用 此操作不会修改状态。 |
当处于差异模式时,将返回有关已更改的内容(或可能需要在 |
备注
注意
community.crypto.acme_account 模块允许修改、创建和删除 ACME 帐户。
在 Ansible 2.8 之前,此模块被称为
acme_account_facts
。用法没有改变。尽管选择的默认值允许将此模块与 Let’s Encrypt CA 一起使用,但原则上该模块可以与任何提供 ACME 端点的 CA 一起使用,例如 Buypass Go SSL。
到目前为止,ACME 模块仅由开发人员针对 Let's Encrypt(暂存和生产)、Buypass(暂存和生产)、ZeroSSL(生产)和 Pebble 测试服务器进行了测试。我们收到了社区的反馈,表明它们也适用于 InCommon 的 Sectigo ACME 服务。如果您在使用其他 ACME 服务器时遇到问题,请创建一个 issue 以帮助我们支持它。也欢迎您反馈未提及的 ACME 服务器确实有效。
如果提供了足够新版本的
cryptography
库(有关详细信息,请参阅“要求”),则将使用它而不是openssl
二进制文件。可以使用select_crypto_backend
选项显式禁用或启用此功能。请注意,使用openssl
二进制文件速度较慢且安全性较低,因为私钥内容始终必须存储在磁盘上(请参阅account_key_content
)。
另请参阅
另请参阅
- community.crypto.acme_account
允许创建、修改或删除 ACME 帐户。
示例
- name: Check whether an account with the given account key exists
community.crypto.acme_account_info:
account_key_src: /etc/pki/cert/private/account.key
register: account_data
- name: Verify that account exists
ansible.builtin.assert:
that:
- account_data.exists
- name: Print account URI
ansible.builtin.debug:
var: account_data.account_uri
- name: Print account contacts
ansible.builtin.debug:
var: account_data.account.contact
- name: Check whether the account exists and is accessible with the given account key
acme_account_info:
account_key_content: "{{ acme_account_key }}"
account_uri: "{{ acme_account_uri }}"
register: account_data
- name: Verify that account exists
ansible.builtin.assert:
that:
- account_data.exists
- name: Print account contacts
ansible.builtin.debug:
var: account_data.account.contact
返回值
常见返回值记录在此处这里,以下是此模块独有的字段
键 |
描述 |
---|---|
从 ACME 服务器检索的帐户信息。 已返回: 如果帐户存在 |
|
可以从中检索此帐户订单列表的 URL。 使用 已返回: 始终 示例: |
|
作为 JSON Web Key 的公共帐户密钥。 已返回: 始终 示例: |
|
帐户的状态 已返回: 始终 只能返回
示例: |
|
ACME 帐户 URI,如果帐户不存在,则为 None。 已返回: 始终 |
|
帐户是否存在。 已返回: 始终 |
|
订单列表。 如果 如果 返回: 如果账户存在, |
|
订单列表。 返回: 如果账户存在, |
|
此订单的授权 URL 列表。 返回: 成功时 |
|
用于检索证书的 URL。 返回: 当证书已颁发时 |
|
如果在处理过程中发生错误,则包含有关错误的信息。 该字段的结构为问题文档 (RFC7807)。 返回: 当发生错误时 |
|
订单的过期时间。 时间戳应按照 RFC3339 中所述的格式进行格式化。 只有当 返回: 当服务器给出过期日期时 |
|
用于完成 ACME 订单的 URL。 返回: 成功时 |
|
此订单所针对的标识符列表。 返回: 成功时 |
|
标识符的类型。 返回: 成功时 只能返回
|
|
标识符的名称。主机名或 IP 地址。 返回: 成功时 |
|
如果 返回: 如果标识符是通配符,则必须包含此项 |
|
证书中 日期应按照 RFC3339 中所述的格式进行格式化。 服务器不一定返回此项。 返回: 当服务器返回此项时 |
|
证书中 日期应按照 RFC3339 中所述的格式进行格式化。 服务器不一定返回此项。 返回: 当服务器返回此项时 |
|
订单的状态。 返回: 成功时 只能返回
|