community.crypto.openssl_publickey_info 模块 – 提供 OpenSSL 公钥信息

注意

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

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

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

要在 playbook 中使用它,请指定: community.crypto.openssl_publickey_info

community.crypto 1.7.0 中的新增功能

概要

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

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

需求

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

  • cryptography >= 1.2.3

参数

参数

注释

content

字符串

公钥文件的内容。

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

path

path

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

select_crypto_backend

字符串

确定使用哪个加密后端。

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

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

选项

  • "auto" ← (默认)

  • "cryptography"

属性

属性

支持

描述

check_mode

支持:完全支持

此操作不会修改状态。

可以在 check_mode 下运行并返回更改状态预测,而无需修改目标。

diff_mode

支持: N/A

此操作不会修改状态。

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

另请参阅

另请参阅

community.crypto.openssl_publickey

从私钥生成 OpenSSL 公钥。

community.crypto.openssl_privatekey_info

提供 OpenSSL 私钥信息。

community.crypto.openssl_publickey_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: Create public key from private key
  community.crypto.openssl_publickey:
    privatekey_path: /etc/ssl/private/ansible.com.pem
    path: /etc/ssl/ansible.com.pub

- name: Get information on public key
  community.crypto.openssl_publickey_info:
    path: /etc/ssl/ansible.com.pub
  register: result

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

返回值

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

描述

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..."

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

大小

整数

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

返回值:type=RSAtype=DSA

x

整数

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

返回:type=ECC

y

整数

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

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

返回值:type=DSAtype=ECC

类型

字符串

密钥的类型。

可能是 RSADSAECCEd25519X25519Ed448X448

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

返回:成功

示例:"RSA"

作者

  • Felix Fontein (@felixfontein)