community.crypto.certificate_complete_chain 模块 – 给定一组不受信任的和根证书来完成证书链
注意
此模块是 community.crypto 集合 (版本 2.22.3) 的一部分。
如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用: ansible-galaxy collection install community.crypto。您需要其他要求才能使用此模块,有关详细信息,请参见 要求。
要在剧本中使用它,请指定: community.crypto.certificate_complete_chain。
概要
- 此模块通过从给定的一组证书中查找中间证书来完成给定的 PEM 格式证书链,直到它在另一个给定的证书集中找到根证书。 
- 例如,这可以用来查找 community.crypto.acme_certificate 返回的证书链的根证书。 
- 请注意,此模块_不会_检查链的有效性。它只检查发行者和主题是否匹配,以及签名是否正确。它完全忽略有效期和密钥用法。如果您需要验证生成的链是否有效,请使用 - openssl verify ...。
要求
以下要求是在执行此模块的主机上需要的。
- cryptography >= 1.5 
参数
| 参数 | 注释 | 
|---|---|
| 一组以 PEM 格式形成链的证书的串联。 模块将尝试完成此链。 | |
| 文件名或目录列表。 文件名假定指向包含一个或多个 PEM 格式证书的文件。此文件中的所有证书都将添加到根证书集中。 如果给出目录名,则将扫描目录及其子目录中的所有文件,并尝试将其解析为 PEM 格式的串联证书。 将跟踪符号链接。 默认值:  | |
| 文件名或目录列表。 文件名假定指向包含一个或多个 PEM 格式证书的文件。此文件中的所有证书都将添加到根证书集中。 如果给出目录名,则将扫描目录及其子目录中的所有文件,并尝试将其解析为 PEM 格式的串联证书。 将跟踪符号链接。 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 支持:完全支持 此操作不会修改状态。 | 可以在  | |
| 支持: N/A 此操作不会修改状态。 | 在差异模式下,将返回有关已更改内容(或可能需要在  | 
示例
# Given a leaf certificate for www.ansible.com and one or more intermediate
# certificates, finds the associated root certificate.
- name: Find root certificate
  community.crypto.certificate_complete_chain:
    input_chain: "{{ lookup('ansible.builtin.file', '/etc/ssl/csr/www.ansible.com-fullchain.pem') }}"
    root_certificates:
    - /etc/ca-certificates/
  register: www_ansible_com
- name: Write root certificate to disk
  ansible.builtin.copy:
    dest: /etc/ssl/csr/www.ansible.com-root.pem
    content: "{{ www_ansible_com.root }}"
# Given a leaf certificate for www.ansible.com, and a list of intermediate
# certificates, finds the associated root certificate.
- name: Find root certificate
  community.crypto.certificate_complete_chain:
    input_chain: "{{ lookup('ansible.builtin.file', '/etc/ssl/csr/www.ansible.com.pem') }}"
    intermediate_certificates:
    - /etc/ssl/csr/www.ansible.com-chain.pem
    root_certificates:
    - /etc/ca-certificates/
  register: www_ansible_com
- name: Write complete chain to disk
  ansible.builtin.copy:
    dest: /etc/ssl/csr/www.ansible.com-completechain.pem
    content: "{{ ''.join(www_ansible_com.complete_chain) }}"
- name: Write root chain (intermediates and root) to disk
  ansible.builtin.copy:
    dest: /etc/ssl/csr/www.ansible.com-rootchain.pem
    content: "{{ ''.join(www_ansible_com.chain) }}"
返回值
常见的返回值在 此处 有记录,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| 添加到给定输入链的链。包括根证书。 作为 PEM 证书列表返回。 返回:成功 | |
| 完整的链,包括叶子、所有中间证书和根证书。 作为 PEM 证书列表返回。 返回:成功 | |
| PEM 格式的根证书。 返回:成功 | 
