community.crypto.acme_challenge_cert_helper 模块 – 为诸如 tls-alpn-01
之类的 ACME 挑战准备所需的证书
注意
此模块是 community.crypto 集合(版本 2.22.3)的一部分。
如果您使用的是 ansible
软件包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.crypto
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:community.crypto.acme_challenge_cert_helper
。
概要
为诸如
tls-alpn-01
之类的 ACME 挑战准备证书。原始数据由 community.crypto.acme_certificate 模块提供,需要将其转换为证书才能用于挑战验证。此模块提供了一种生成所需证书的简单方法。
要求
在执行此模块的主机上需要以下要求。
cryptography >= 1.3
参数
参数 |
注释 |
---|---|
挑战类型。 选项
|
|
challenge_data 条目由 community.crypto.acme_certificate 提供,用于挑战。 |
|
要用于此挑战证书的私钥的内容。 与 |
|
用于解码私钥的密码。 |
|
包含要用于此挑战证书的私钥文件的路径。 与 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持:不支持 此操作不会修改状态。 |
可以在 |
|
支持: N/A 此操作不会修改状态。 |
在差异模式下,将返回有关已更改内容(或可能需要在 |
另请参阅
另请参阅
- 自动证书管理环境 (ACME)
ACME 协议规范 (RFC 8555)。
- ACME TLS ALPN 挑战扩展
tls-alpn-01
挑战的规范 (RFC 8737)。
示例
- name: Create challenges for a given CRT for sample.com
community.crypto.acme_certificate:
account_key_src: /etc/pki/cert/private/account.key
challenge: tls-alpn-01
csr: /etc/pki/cert/csr/sample.com.csr
dest: /etc/httpd/ssl/sample.com.crt
register: sample_com_challenge
- name: Create certificates for challenges
community.crypto.acme_challenge_cert_helper:
challenge: tls-alpn-01
challenge_data: "{{ item.value['tls-alpn-01'] }}"
private_key_src: /etc/pki/cert/key/sample.com.key
loop: "{{ sample_com_challenge.challenge_data | dictsort }}"
register: sample_com_challenge_certs
- name: Install challenge certificates
# We need to set up HTTPS such that for the domain,
# regular_certificate is delivered for regular connections,
# except if ALPN selects the "acme-tls/1"; then, the
# challenge_certificate must be delivered.
# This can for example be achieved with very new versions
# of NGINX; search for ssl_preread and
# ssl_preread_alpn_protocols for information on how to
# route by ALPN protocol.
...:
domain: "{{ item.domain }}"
challenge_certificate: "{{ item.challenge_certificate }}"
regular_certificate: "{{ item.regular_certificate }}"
private_key: /etc/pki/cert/key/sample.com.key
loop: "{{ sample_com_challenge_certs.results }}"
- name: Create certificate for a given CSR for sample.com
community.crypto.acme_certificate:
account_key_src: /etc/pki/cert/private/account.key
challenge: tls-alpn-01
csr: /etc/pki/cert/csr/sample.com.csr
dest: /etc/httpd/ssl/sample.com.crt
data: "{{ sample_com_challenge }}"
返回值
常见的返回值已记录在 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
挑战证书(PEM 格式)。 返回:始终 |
|
挑战针对的域名。如果在请求的 返回:始终 |
|
实际资源的标识符。如果 返回:始终 |
|
实际资源标识符的类型。 返回:始终 只能返回
|
|
用于挑战域的自签名证书。 如果不存在现有证书,则可以在需要提供挑战时用于首次设置 https。 返回:始终 |