community.crypto.acme_certificate_revoke 模块 – 使用 ACME 协议撤销证书
注意
此模块是 community.crypto 集合 (版本 2.22.3) 的一部分。
如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.crypto。您需要满足其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在 playbook 中使用它,请指定:community.crypto.acme_certificate_revoke。
概要
- 允许撤销由支持 ACME 协议 的 CA(证书颁发机构)颁发的证书,例如 Let’s Encrypt。 
要求
执行此模块的主机需要以下要求。
- openssl 或 cryptography >= 1.5 
- ipaddress 
参数
| 参数 | 注释 | 
|---|---|
| ACME 帐户 RSA 或椭圆曲线密钥的内容。 请注意,必须指定以下各项中的恰好一项: 警告:内容将写入临时文件,该文件将在模块完成时由 Ansible 删除。由于这是一个重要的私钥——它可以用于更改帐户密钥,或在不知道其私钥的情况下撤销您的证书——这可能是不可接受的。 如果使用  | |
| 用于解码帐户密钥的密码。 注意: | |
| 包含 ACME 帐户 RSA 或椭圆曲线密钥的文件的路径。 可以使用  与  如果未使用  | |
| 如果指定,则假定帐户 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 端点,必须为  自 community.crypto 2.0.0 起,值  选项 
 | |
| 要撤销的证书的路径。 | |
| 证书私钥的内容。 请注意,必须指定以下各项中的恰好一项: 警告:内容将写入临时文件,该文件将在模块完成时由 Ansible 删除。由于这是一个重要的私钥——它可以用于更改帐户密钥,或在不知道其私钥的情况下撤销您的证书——这可能是不可接受的。 如果使用  | |
| 用于解码证书私钥的密码。 注意: | |
| 证书私钥的路径。 请注意,必须指定以下各项中的恰好一项: | |
| Ansible 等待 ACME API 响应的时间。 此超时适用于所有 HTTP(S) 请求 (HEAD、GET、POST)。 默认值:  | |
| RFC5280 5.3.1 节中定义的撤销 reasonCodes 之一。 可能的值为  | |
| 确定要使用的加密后端。 默认选择是  如果设置为  如果设置为  选项 
 | |
| 是否对 ACME 目录的调用验证 TLS 证书。 警告:仅应出于测试目的将其设置为  选项 
 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 操作组: community.crypto.acme、acme | 在  | |
| 支持:不支持 | 可以在  | |
| 支持:不支持 | 在差异模式下,将返回有关已更改内容(或在  | 
备注
注意
- 必须指定以下选项中的一个: - account_key_src、- account_key_content、- private_key_src或- private-key-content。
- 尝试撤销已撤销的证书应导致状态不变,即使撤销原因与此处指定的不同。此外,根据服务器的不同,如果证书已被撤销,则可能会返回其他错误。 
- 尽管默认值的选择使得该模块可以与 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二进制文件会更慢且安全性更低,因为私钥内容始终必须存储在磁盘上(请参阅- account_key_content)。
另请参阅
另请参阅
- Let’s Encrypt 文档
- Let’s Encrypt 认证机构的文档。例如,提供有关速率限制的有用信息。 
- 自动证书管理环境 (ACME)
- ACME 协议规范 (RFC 8555)。 
- community.crypto.acme_inspect
- 允许调试问题。 
示例
- name: Revoke certificate with account key
  community.crypto.acme_certificate_revoke:
    account_key_src: /etc/pki/cert/private/account.key
    certificate: /etc/httpd/ssl/sample.com.crt
- name: Revoke certificate with certificate's private key
  community.crypto.acme_certificate_revoke:
    private_key_src: /etc/httpd/ssl/sample.com.key
    certificate: /etc/httpd/ssl/sample.com.crt
