# community.crypto.openssl_signature module – Sign data with openssl

Note

This module is part of the community.crypto collection (version 2.9.0).

To install it, use: `ansible-galaxy collection install community.crypto`. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: `community.crypto.openssl_signature`.

New in community.crypto 1.1.0

- Synopsis

- Requirements

- Parameters

- Attributes

- Notes

- See Also

- Examples

- Return Values

## Synopsis

- This module allows one to sign data using a private key.

- The module uses the cryptography Python library.

## Requirements

The below requirements are needed on the host that executes this module.

- cryptography >= 1.4 (some key types require newer versions)

## Parameters

Parameter | Comments
--- | ---
path path / required | The file to sign. This file will only be read and not modified.
privatekey_content string | The content of the private key to use when signing the certificate signing request. Either privatekey_path or privatekey_content must be specified, but not both.
privatekey_passphrase string | The passphrase for the private key. This is required if the private key is password protected.
privatekey_path path | The path to the private key to use when signing. Either privatekey_path or privatekey_content must be specified, but not both.

select_crypto_backend

string

Determines which crypto backend to use.

The default choice is `auto`, which tries to use `cryptography` if available.

If set to `cryptography`, will try to use the cryptography library.

Choices:

- `"auto"` ← (default)

- `"cryptography"`

## Attributes

Attribute | Support | Description
--- | --- | ---
check_mode | Support: full This action does not modify state. | Can run in `check_mode` and return changed status prediction without modifying target.
diff_mode | Support: none | Will return details on what has changed (or possibly needs changing in `check_mode`), when in diff mode.

## Notes

Note

- When using the `cryptography` backend, the following key types require at least the following `cryptography` version: RSA keys: `cryptography` >= 1.4 DSA and ECDSA keys: `cryptography` >= 1.5 ed448 and ed25519 keys: `cryptography` >= 2.6

## See Also

See also

community.crypto.openssl_signature_info

  The official documentation on the community.crypto.openssl_signature_info module.

community.crypto.openssl_privatekey

  The official documentation on the community.crypto.openssl_privatekey module.

## Examples

    - 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
      assert:
        that:
          - verify.valid

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Description
--- | ---
signature string | Base64 encoded signature. Returned: success

### Authors

- Patrick Pichler (@aveexy)

- Markus Teufelberger (@MarkusTeufelberger)

### Collection links

Issue Tracker Repository (Sources) Submit a bug report Request a feature Communication