community.crypto.openssl_privatekey_info 模块 – 提供 OpenSSL 私钥信息

注意

此模块是 community.crypto 集合 (版本 2.22.3) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.crypto。您需要满足其他要求才能使用此模块,有关详细信息,请参见 要求

要在剧本中使用它,请指定:community.crypto.openssl_privatekey_info

概要

  • 此模块允许查询 OpenSSL 私钥的信息。

  • 如果密钥一致性检查失败,则模块将失败,因为这表示私钥被伪造。在这种情况下,所有返回变量仍然会返回。请注意,密钥一致性检查并非适用于所有密钥类型;如果不存在检查,则 none 将作为 key_is_consistent 返回。

  • 它使用 cryptography python 库与 OpenSSL 交互。

要求

执行此模块的主机需要以下要求。

  • cryptography >= 1.2.3

参数

参数

注释

check_consistency

布尔值

在 community.crypto 2.0.0 中添加

是否检查私钥的一致性。

在 community.crypto < 2.0.0 中,始终检查一致性。

从 community.crypto 2.0.0 开始,默认情况下禁用一致性检查,以避免私钥材料被传输和计算,并且仅在显式请求时才执行此操作。这可以潜在地防止 侧信道攻击

请注意,一致性检查仅适用于某些密钥类型,并且可能取决于 cryptography 库的版本。例如,使用 cryptography 42.0.0 和更新版本,不再能够检查 RSA 密钥的一致性。

选项

  • false ← (默认)

  • true

content

字符串

在 community.crypto 1.0.0 中添加

私钥文件的內容。

必须指定 pathcontent,但不能同时指定两者。

passphrase

字符串

私钥的密码。

path

path

从远程加载私钥文件的绝对路径。

return_private_key_data

布尔值

是否返回私钥数据。

只有当您希望此密钥的私有信息离开远程计算机时,才将其设置为 true

警告:您必须确保不会意外记录私钥数据!

选项

  • false ← (默认)

  • true

select_crypto_backend

字符串

确定要使用的加密后端。

默认选择是 auto,如果可用,它会尝试使用 cryptography

如果设置为 cryptography,将尝试使用 cryptography 库。

选项

  • "auto" ← (默认)

  • "cryptography"

属性

属性

支持

描述

check_mode

支持:完全支持

此操作不会修改状态。

可以在 check_mode 模式下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持: N/A

此操作不会修改状态。

在 diff 模式下,将返回有关已更改内容(或可能需要在 check_mode 模式下更改的内容)的详细信息。

另请参见

另请参见

community.crypto.openssl_privatekey

生成 OpenSSL 私钥。

community.crypto.openssl_privatekey_pipe

在不访问磁盘的情况下生成 OpenSSL 私钥。

community.crypto.openssl_privatekey_info 过滤器插件

此模块的过滤器变体。

示例

- name: Generate an OpenSSL private key with the default values (4096 bits, RSA)
  community.crypto.openssl_privatekey:
    path: /etc/ssl/private/ansible.com.pem

- name: Get information on generated key
  community.crypto.openssl_privatekey_info:
    path: /etc/ssl/private/ansible.com.pem
  register: result

- name: Dump information
  ansible.builtin.debug:
    var: result

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

can_load_key

布尔值

模块是否能够从磁盘加载私钥。

返回值: 始终

can_parse_key

布尔值

模块是否能够解析私钥。

返回值: 始终

key_is_consistent

布尔值

密钥是否一致。还可以返回 nonetruefalse 一起,以指示无法检查一致性。

如果检查返回 false,则模块将失败。

返回值:check_consistency=true

private_data

字典

私钥数据。取决于密钥类型。

返回值: 成功且当 return_private_key_data 设置为 true

public_data

字典

公钥数据。取决于密钥类型。

返回值: 成功

curve

字符串

ECC 的曲线名称。

返回值:type=ECC

exponent

整数

RSA 密钥的公钥指数。

返回值:type=RSA

exponent_size

整数

私钥的最大位数。这基本上是所用子群的位大小。

返回值:type=ECC

g

整数

DSA 的 g 值。

这是跨越所用素数域的乘法群子群的元素。

返回值:type=DSA

modulus

整数

RSA 密钥的模数。

返回值:type=RSA

p

整数

DSA 的 p 值。

这是进行算术运算的素数模。

返回值:type=DSA

q

整数

DSA 的 q 值。

这是一个除 p - 1 的素数,同时也是所用素数域的乘法群子群的阶。

返回值:type=DSA

size

整数

模数 (RSA) 或素数 (DSA) 的位大小。

返回值:type=RSAtype=DSA

x

整数

椭圆曲线上的公钥点的 x 坐标。

返回值:type=ECC

y

整数

对于 type=ECC,这是椭圆曲线上的公钥点的 y 坐标。

对于 type=DSA,这是公开已知的群元素,其关于 g 的离散对数是私钥。

返回值:type=DSAtype=ECC

public_key

字符串

PEM 格式的私钥的公钥。

返回值: 成功

示例: "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A..."

public_key_fingerprints

字典

私钥的公钥的指纹。

对于每种可用的哈希算法,都会计算指纹。

返回值: 成功

示例: "{'sha256': 'd4:b3:aa:6d:c8:04:ce:4e:ba:f6:29:4d:92:a3:94:b0:c2:ff:bd:bf:33:63:11:43:34:0f:51:b0:95:09:2f:63', 'sha512': 'f7:07:4a:f0:b0:f0:e6:8b:95:5f:f9:e6:61:0a:32:68:f1..."

type

字符串

密钥的类型。

RSADSAECCEd25519X25519Ed448X448 之一。

如果无法确定密钥类型,则将以 unknown 开头。

返回值: 成功

示例: "RSA"

作者

  • Felix Fontein (@felixfontein)

  • Yanis Guenane (@Spredzy)