- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Community.Crypto Collection Docs

# community.crypto.openssl_publickey_info filter – Retrieve information from OpenSSL public keys in PEM format

Note

This filter plugin is part of the community.crypto collection (version 2.12.0).

To install it, use: `ansible-galaxy collection install community.crypto`.

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

New in community.crypto 2.10.0

## Synopsis

- Provided a public key in OpenSSL PEM format, retrieve information.

- This is a filter version of the community.crypto.openssl_publickey_info module.

## Input

This describes the input of the filter, the value before `| community.crypto.openssl_publickey_info`.

Parameter | Comments
--- | ---
Input string / required | The content of the OpenSSL PEM public key.

## See Also

See also

community.crypto.openssl_publickey_info

  Provide information for OpenSSL public keys.

## Examples

    - name: Show the type of a public key
      ansible.builtin.debug:
        msg: >-
          {{
            (
              lookup('ansible.builtin.file', '/path/to/public-key.pem')
              | community.crypto.openssl_publickey_info
            ).type
          }}

## Return Value

Key | Description
--- | ---
Return value dictionary | Information on the public key. Returned: success
fingerprints dictionary | Fingerprints of public key. For every hash algorithm available, the fingerprint is computed. Returned: success Sample: `"{'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 dictionary | Public key data. Depends on key type. Returned: success
curve string | The curve’s name for ECC. Returned: When `type=ECC`
exponent integer | The RSA key’s public exponent. Returned: When `type=RSA`
exponent_size integer | The maximum number of bits of a private key. This is basically the bit size of the subgroup used. Returned: When `type=ECC`
g integer | The `g` value for DSA. This is the element spanning the subgroup of the multiplicative group of the prime field used. Returned: When `type=DSA`
modulus integer | The RSA key’s modulus. Returned: When `type=RSA`
p integer | The `p` value for DSA. This is the prime modulus upon which arithmetic takes place. Returned: When `type=DSA`
q integer | The `q` value for DSA. This is a prime that divides `p - 1`, and at the same time the order of the subgroup of the multiplicative group of the prime field used. Returned: When `type=DSA`
size integer | Bit size of modulus (RSA) or prime number (DSA). Returned: When `type=RSA` or `type=DSA`
x integer | The `x` coordinate for the public point on the elliptic curve. Returned: When `type=ECC`
y integer | For `type=ECC`, this is the `y` coordinate for the public point on the elliptic curve. For `type=DSA`, this is the publicly known group element whose discrete logarithm w.r.t. `g` is the private key. Returned: When `type=DSA` or `type=ECC`
type string | The key’s type. One of `RSA`, `DSA`, `ECC`, `Ed25519`, `X25519`, `Ed448`, or `X448`. Will start with `unknown` if the key type cannot be determined. Returned: success Sample: `"RSA"`

### Authors

- Felix Fontein (@felixfontein)

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.

### Collection links

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