community.crypto.x509_crl 模块 – 生成证书吊销列表 (CRL)
注意
此模块是 community.crypto 集合(版本 2.22.3)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.crypto
。您需要进一步的要求才能使用此模块,请参阅 要求了解详细信息。
要在 playbook 中使用它,请指定: community.crypto.x509_crl
。
community.crypto 1.0.0 中的新增功能
概要
此模块允许您(重新)生成或更新证书吊销列表 (CRL)。
吊销列表中的证书可以通过序列号和(可选的)其颁发者指定,也可以通过 PEM 格式的证书文件路径指定。
要求
以下要求需要在执行此模块的主机上满足。
如果
name_encoding
设置为除ignore
之外的其他值,则需要安装 idna Python 库。cryptography >= 1.2
参数
参数 |
注释 |
---|---|
生成的 filesystem 对象应具有的属性。 要获取支持的标志,请查看目标系统上 *chattr* 的手册页。 此字符串应包含与 *lsattr* 显示的顺序相同的属性。 默认情况下,假定使用 |
|
创建一个包含时间戳的备份文件,以便您可以在意外地用新文件覆盖原始 CRL 时恢复它。 选择
|
|
定义如何处理现有 CRL 的条目。 如果设置为 如果设置为 默认值为 此参数在 community.crypto 2.13.0 之前被称为 选择
|
|
签署 CRL 时要使用的摘要算法。 默认值: |
|
是否应强制重新生成 CRL。 选择
|
|
CRL 文件应采用 PEM 还是 DER 格式。 如果现有 CRL 文件与除 选择
|
|
应该拥有 filesystem 对象的组的名称,就像输入到 *chown* 一样。 如果未指定,它将使用当前用户的当前组,除非您是 root 用户,在这种情况下,它可以保留先前的所有权。 |
|
是否应忽略时间戳 将此与这些值的相对时间戳结合使用,以实现幂等性。 选择
|
|
将出现在 CRL 的颁发者名称字段中的键/值对。 如果需要使用相同的键指定多个值,请使用列表作为值。 如果组件的顺序很重要,请使用 如果 与 |
|
字典的列表,其中每个字典必须包含一个键/值对。此键/值对将出现在 CRL 的颁发者名称字段中。 如果想要连续使用相同的键指定多个值,可以使用列表作为值。 如果 与 |
|
可以信任此 CRL 的起始时间点。 时间可以指定为相对时间或绝对时间戳。 时间将始终解释为 UTC 时间。 有效格式为 请注意,如果使用相对时间,则此模块不是幂等的,除非 默认值: |
|
如何在返回值中编码名称(DNS 名称、URI、电子邮件地址)。
请注意, 选择
|
|
此 时间可以指定为相对时间或绝对时间戳。 时间将始终解释为 UTC 时间。 有效格式为 请注意,如果使用相对时间,则此模块不是幂等的,除非 如果 |
|
应该拥有文件系统对象的用户名称,就像被馈送到 chown 一样。 如果未指定,则使用当前用户,除非您是 root 用户,在这种情况下,它可以保留之前的属主。 指定数字用户名将被视为用户 ID 而不是用户名。请避免使用数字用户名,以避免混淆。 |
|
应创建或已存在生成的 CRL 文件的远程绝对路径。 |
|
CA 私钥的内容,用于签署 CRL。 如果 |
|
如果私钥受密码保护,则这是必需的。 |
|
用于签署 CRL 的 CA 私钥的路径。 如果 |
|
要吊销的证书列表。 如果 |
|
PEM 格式的证书内容。 将从证书中提取序列号和颁发者。 与 |
|
已知/怀疑私钥被泄露或证书以其他方式失效的时间点。 时间可以指定为相对时间或绝对时间戳。 时间将始终解释为 UTC 时间。 有效格式为 请注意,如果使用相对时间,则此模块不是幂等的。当 |
|
失效日期扩展是否应为关键。 选择
|
|
证书的颁发者。 示例: |
|
证书颁发者扩展是否应为关键。 选择
|
|
PEM 格式的证书路径。 将从证书中提取序列号和颁发者。 与 |
|
吊销原因扩展的值。 选择
|
|
吊销原因扩展是否应为关键。 选择
|
|
证书被吊销的时间点。 时间可以指定为相对时间或绝对时间戳。 时间将始终解释为 UTC 时间。 有效格式为 请注意,如果使用相对时间,则此模块不是幂等的,除非 默认值: |
|
证书的序列号。 与 此选项接受整数或十六进制字节字符串,具体取决于 如果 如果 您可以使用过滤器 community.crypto.parse_serial 和 community.crypto.to_serial 来转换这两种表示形式。 |
|
SELinux 文件系统对象上下文的级别部分。 这是 MLS/MCS 属性,有时称为 当设置为 |
|
此选项确定将接受 如果设置为 如果设置为 选择
|
|
SELinux 文件系统对象上下文的角色部分。 当设置为 |
|
SELinux 文件系统对象上下文的类型部分。 当设置为 |
|
SELinux 文件系统对象上下文的用户部分。 默认情况下,它使用 当设置为 |
|
CRL 文件是否应该存在,如果状态与声明的状态不同,则采取操作。 选择
|
|
影响何时使用原子操作以防止数据损坏或从目标文件系统对象读取不一致的数据。 默认情况下,此模块使用原子操作来防止数据损坏或从目标文件系统对象读取不一致的数据,但有时系统配置或损坏的方式会阻止这种情况。一个示例是 docker 挂载的文件系统对象,这些对象无法从容器内部进行原子更新,只能以不安全的方式写入。 此选项允许 Ansible 在原子操作失败时回退到更新文件系统对象的不安全方法(但是,它不会强制 Ansible 执行不安全的写入)。 重要提示!不安全的写入会受到竞争条件的影响,并可能导致数据损坏。 选择
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 完全 |
可以在 |
|
支持: 完全 |
当处于 diff 模式时,将返回有关已更改的内容(或可能需要在 |
|
支持: 完全 |
使用 Ansible 的严格文件操作函数来确保正确的权限并避免数据损坏。 |
注释
注意
所有 ASN.1 TIME 值都应按照 YYYYMMDDHHMMSSZ 模式指定。
指定日期应为 UTC。分钟和秒是强制性的。
另请参阅
另请参阅
- community.crypto.parse_serial 过滤器插件
将以冒号分隔的十六进制数字列表形式的序列号转换为整数。
- community.crypto.to_serial 过滤器插件
将整数转换为以冒号分隔的十六进制数字列表。
示例
- name: Generate a CRL
community.crypto.x509_crl:
path: /etc/ssl/my-ca.crl
privatekey_path: /etc/ssl/private/my-ca.pem
issuer:
CN: My CA
last_update: "+0s"
next_update: "+7d"
revoked_certificates:
- serial_number: 1234
revocation_date: 20190331202428Z
issuer:
CN: My CA
- serial_number: 2345
revocation_date: 20191013152910Z
reason: affiliation_changed
invalidity_date: 20191001000000Z
- path: /etc/ssl/crt/revoked-cert.pem
revocation_date: 20191010010203Z
返回值
常见的返回值在此处 记录,以下是此模块独有的字段
键 |
描述 |
---|---|
(当前或生成的)CRL 的内容。 如果 已返回: 如果 |
|
用于签署 CRL 的签名算法。 已返回: 成功 示例: |
|
生成的 CRL 的路径。 已返回: 已更改或成功 示例: |
|
CRL 是 PEM 格式 ( 已返回: 成功 只能返回
示例: |
|
CRL 的颁发者。 请注意,对于重复的值,只会返回最后一个值。 有关如何处理 IDN,请参阅 已返回: 成功 示例: |
|
CRL 的颁发者,作为元组的有序列表。 已返回: 成功 示例: |
|
此 CRL 可以被信任为 ASN.1 TIME 的时间点。 已返回: 成功 示例: |
|
将颁发新的 CRL 并且客户端必须检查它的时间点,作为 ASN.1 TIME。 已返回: 成功 示例: |
|
私有 CA 密钥的路径。 已返回: 已更改或成功 示例: |
|
要吊销的证书列表。 已返回: 成功 |
|
以 ASN.1 TIME 格式表示的,已知/怀疑私钥被泄露或证书失效的时间点。 已返回: 成功 示例: |
|
失效日期扩展是否为关键。 已返回: 成功 示例: |
|
证书颁发者扩展是否为关键。 已返回: 成功 示例: |
|
吊销原因扩展的值。 已返回: 成功 只能返回
示例: |
|
吊销原因扩展是否为关键。 已返回: 成功 示例: |
|
以 ASN.1 TIME 格式表示的证书被吊销的时间点。 已返回: 成功 示例: |
|
证书的序列号。 此返回值是一个整数。如果您需要以冒号分隔的十六进制字符串形式表示序列号,例如 已返回: 成功 示例: |