community.crypto.x509_certificate_info 模块 – 提供 OpenSSL X.509 证书的信息
注意
此模块是 community.crypto 集合(版本 2.22.3)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.crypto
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:community.crypto.x509_certificate_info
。
概要
此模块允许查询 OpenSSL 证书的信息。
它使用 cryptography Python 库与 OpenSSL 交互。
请注意,当直接包含在 Ansible 中直到 2.9 版本时,此模块名为
openssl_certificate_info
。当移动到community.crypto
集合时,它被重命名为 community.crypto.x509_certificate_info。从 Ansible 2.10 开始,它仍然可以使用旧的短名称(或ansible.builtin.openssl_certificate_info
),它会重定向到 community.crypto.x509_certificate_info。当使用 FQCN 或使用 collections 关键字时,应使用新名称 community.crypto.x509_certificate_info 以避免出现弃用警告。
要求
执行此模块的主机上需要以下要求。
如果
name_encoding
设置为ignore
以外的值,则需要安装 idna Python 库。cryptography >= 1.6
参数
参数 |
注释 |
---|---|
如何在返回值中编码名称(DNS 名称、URI、电子邮件地址)。
请注意, 选项
|
|
确定要使用的加密后端。 默认选择是 如果设置为 选项
|
|
一个字典,其中名称映射到时间规范。此处指定的每个时间都将检查证书在该时间点是否有效。有关结果的信息,请参阅 时间可以指定为相对时间或绝对时间戳。 时间将始终被解释为 UTC。 有效格式为 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全 此操作不修改状态。 |
可以在 |
|
支持: 不适用 此操作不修改状态。 |
在差异模式下,将返回已更改(或在 |
注意事项
注意
所有时间戳值均以 ASN.1 TIME 格式提供,换句话说,遵循
YYYYMMDDHHMMSSZ
模式。它们全部为 UTC 时间。
另请参阅
另请参阅
- community.crypto.x509_certificate
生成和/或检查 OpenSSL 证书。
- community.crypto.x509_certificate_pipe
生成和/或检查 OpenSSL 证书。
- community.crypto.x509_certificate_info 过滤器插件
此模块的过滤器变体。
- community.crypto.to_serial 过滤器插件
将整数转换为以冒号分隔的十六进制数字列表。
示例
- name: Generate a Self Signed OpenSSL certificate
community.crypto.x509_certificate:
path: /etc/ssl/crt/ansible.com.crt
privatekey_path: /etc/ssl/private/ansible.com.pem
csr_path: /etc/ssl/csr/ansible.com.csr
provider: selfsigned
# Get information on the certificate
- name: Get information on generated certificate
community.crypto.x509_certificate_info:
path: /etc/ssl/crt/ansible.com.crt
register: result
- name: Dump information
ansible.builtin.debug:
var: result
# Check whether the certificate is valid or not valid at certain times, fail
# if this is not the case. The first task (x509_certificate_info) collects
# the information, and the second task (assert) validates the result and
# makes the playbook fail in case something is not as expected.
- name: Test whether that certificate is valid tomorrow and/or in three weeks
community.crypto.x509_certificate_info:
path: /etc/ssl/crt/ansible.com.crt
valid_at:
point_1: "+1d"
point_2: "+3w"
register: result
- name: Validate that certificate is valid tomorrow, but not in three weeks
ansible.builtin.assert:
that:
- result.valid_at.point_1 # valid in one day
- not result.valid_at.point_2 # not valid in three weeks
返回值
通用返回值在此处记录 这里,以下是此模块独有的字段
键 |
描述 |
---|---|
证书的授权证书颁发者,作为通用名称列表。 如果不存在 有关如何处理 IDN,请参阅 返回:成功 示例: |
|
证书的授权证书序列号。 如果不存在 此返回值是一个整数。如果需要以冒号分隔的十六进制字符串形式(例如 返回:成功 示例: |
|
证书的授权密钥标识符。 标识符以十六进制形式返回,使用 如果不存在 返回:成功 示例: |
|
返回:成功 示例: |
|
返回:成功 |
|
证书是否已过期(换句话说, 返回:成功 |
|
返回:成功 示例: |
|
返回:成功 |
|
返回每个扩展 OID 的字典。 返回:成功 示例: |
|
扩展是否为关键。 返回:成功 |
|
扩展的 Base64 编码值(采用 DER 格式)。 请注意,根据所使用的 返回:成功 示例: |
|
整个证书 DER 编码形式的指纹。 对于每个可用的哈希算法,都会计算指纹。 返回:成功 示例: |
|
证书的颁发者。 请注意,对于重复的值,仅返回最后一个值。 返回:成功 示例: |
|
证书的颁发者,作为有序的元组列表。 返回:成功 示例: |
|
颁发者 URI(如果包含在证书中)。如果未包含颁发者 URI,则为 返回:成功 |
|
返回:成功 示例: |
|
返回:成功 |
|
以 ASN.1 TIME 格式表示的 返回:成功 示例: |
|
以 ASN.1 TIME 格式表示的 返回:成功 示例: |
|
如果存在 OCSP Must Staple 扩展,则为 返回:成功 |
|
返回:成功 |
|
OCSP 响应程序 URI(如果包含在证书中)。如果未包含 OCSP 响应程序 URI,则为 返回:成功 |
|
PEM 格式的证书公钥。 返回:成功 示例: |
|
公钥数据。取决于公钥的类型。 返回:成功 |
|
ECC 的曲线名称。 返回:当 |
|
RSA 密钥的公共指数。 返回:当 |
|
私钥的最大位数。这基本上是所用子群的位大小。 返回:当 |
|
RSA 密钥的模数。 返回:当 |
|
模数(RSA)或素数(DSA)的位大小。 返回: 当 |
|
椭圆曲线上公共点的 返回:当 |
|
对于 对于 返回: 当 |
|
证书公钥的指纹。 对于每个可用的哈希算法,都会计算指纹。 返回:成功 示例: |
|
证书的公钥类型。 可以是 如果无法确定密钥类型,将以 返回:成功 示例: |
|
证书的序列号。 此返回值是一个整数。如果需要以冒号分隔的十六进制字符串形式(例如 返回:成功 示例: |
|
用于签署证书的签名算法。 返回:成功 示例: |
|
证书的主题,以字典形式表示。 请注意,对于重复的值,仅返回最后一个值。 返回:成功 示例: |
|
有关如何处理 IDN,请参阅 返回:成功 示例: |
|
返回:成功 |
|
证书的主题密钥标识符。 标识符以十六进制形式返回,使用 如果不存在 返回:成功 示例: |
|
证书的主题,以有序的元组列表形式表示。 返回:成功 示例: |
|
对于在 返回:成功 |
|
证书版本。 返回:成功 示例: |