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
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在剧本中使用它,请指定: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。 有效格式为 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全支持 此操作不会修改状态。 |
可以在 |
|
支持:N/A 此操作不会修改状态。 |
处于diff模式时,将返回有关已更改内容(或可能需要在 |
备注
注意
所有时间戳值均以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,请参见 返回:成功 示例: |
|
返回:成功 |
|
证书的主题密钥标识符。 标识符以十六进制返回,使用 如果 返回:成功 示例: |
|
证书的主题,以有序元组列表形式表示。 返回:成功 示例: |
|
对于 返回:成功 |
|
证书版本。 返回:成功 示例: |