community.crypto.openssl_signature 模块 – 使用 OpenSSL 签名数据

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.crypto。您需要其他要求才能使用此模块,请参阅 要求 以了解详情。

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

community.crypto 1.1.0 中的新增功能

概要

  • 此模块允许使用私钥签名数据。

  • 该模块使用 cryptography Python 库。

要求

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

  • cryptography >= 1.4 (某些密钥类型需要较新版本)

参数

参数

注释

path

路径 / 必需

要签名的文件。

此文件将只读,不会被修改。

privatekey_content

字符串

用于签署证书签名请求的私钥内容。

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

privatekey_passphrase

字符串

私钥的密码。

如果私钥受密码保护,则需要此参数。

privatekey_path

path

用于签名的私钥路径。

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

select_crypto_backend

字符串

确定要使用的加密后端。

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

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

选项

  • "auto" ← (默认)

  • "cryptography"

属性

属性

支持

描述

check_mode

支持:完全支持

此操作不会修改状态。

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

diff_mode

支持:不支持

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

备注

注意

  • 使用 cryptography 后端时,以下密钥类型至少需要以下 cryptography 版本:RSA 密钥:cryptography >= 1.4 DSA 和 ECDSA 密钥:cryptography >= 1.5 ed448 和 ed25519 密钥:cryptography >= 2.6

另请参阅

另请参阅

community.crypto.openssl_signature_info

使用 OpenSSL 验证签名。

community.crypto.openssl_privatekey

生成 OpenSSL 私钥。

示例

- name: Sign example file
  community.crypto.openssl_signature:
    privatekey_path: private.key
    path: /tmp/example_file
  register: sig

- name: Verify signature of example file
  community.crypto.openssl_signature_info:
    certificate_path: cert.pem
    path: /tmp/example_file
    signature: "{{ sig.signature }}"
  register: verify

- name: Make sure the signature is valid
  ansible.builtin.assert:
    that:
      - verify.valid

返回值

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

描述

signature

字符串

Base64 编码的签名。

返回:成功

作者

  • Patrick Pichler (@aveexy)

  • Markus Teufelberger (@MarkusTeufelberger)