<linkrel="next"title="community.crypto.ecs_certificate module – Request SSL/TLS certificates with the Entrust Certificate Services (ECS) API"href="ecs_certificate_module.html"/>
<linkrel="prev"title="community.crypto.certificate_complete_chain module – Complete certificate chain given a set of untrusted and root certificates"href="certificate_complete_chain_module.html"/><!-- extra head elements for Ansible beyond RTD Sphinx Theme -->
</head>
<bodyclass="wy-body-for-nav"><!-- extra body elements for Ansible beyond RTD Sphinx Theme -->
<liclass="toctree-l1"><aclass="reference internal"href="docsite/guide_selfsigned.html">How to create self-signed certificates</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="docsite/guide_ownca.html">How to create a small CA</a></li>
</ul>
<ulclass="current">
<liclass="toctree-l1"><aclass="reference internal"href="acme_account_module.html">community.crypto.acme_account module – Create, modify or delete ACME accounts</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="acme_account_info_module.html">community.crypto.acme_account_info module – Retrieves information on ACME accounts</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="acme_certificate_module.html">community.crypto.acme_certificate module – Create SSL/TLS certificates with the ACME protocol</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="acme_certificate_revoke_module.html">community.crypto.acme_certificate_revoke module – Revoke certificates with the ACME protocol</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="acme_challenge_cert_helper_module.html">community.crypto.acme_challenge_cert_helper module – Prepare certificates required for ACME challenges such as <codeclass="docutils literal notranslate"><spanclass="pre">tls-alpn-01</span></code></a></li>
<liclass="toctree-l1"><aclass="reference internal"href="acme_inspect_module.html">community.crypto.acme_inspect module – Send direct requests to an ACME server</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="certificate_complete_chain_module.html">community.crypto.certificate_complete_chain module – Complete certificate chain given a set of untrusted and root certificates</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="ecs_certificate_module.html">community.crypto.ecs_certificate module – Request SSL/TLS certificates with the Entrust Certificate Services (ECS) API</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="ecs_domain_module.html">community.crypto.ecs_domain module – Request validation of a domain with the Entrust Certificate Services (ECS) API</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="get_certificate_module.html">community.crypto.get_certificate module – Get a certificate from a host:port</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="openssh_cert_module.html">community.crypto.openssh_cert module – Generate OpenSSH host or user certificates.</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="openssh_keypair_module.html">community.crypto.openssh_keypair module – Generate OpenSSH private and public keys</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="openssl_csr_info_module.html">community.crypto.openssl_csr_info module – Provide information of OpenSSL Certificate Signing Requests (CSR)</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="openssl_privatekey_info_module.html">community.crypto.openssl_privatekey_info module – Provide information for OpenSSL private keys</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="openssl_privatekey_pipe_module.html">community.crypto.openssl_privatekey_pipe module – Generate OpenSSL private keys without disk access</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="openssl_publickey_module.html">community.crypto.openssl_publickey module – Generate an OpenSSL public key from its private key.</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="openssl_publickey_info_module.html">community.crypto.openssl_publickey_info module – Provide information for OpenSSL public keys</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="openssl_signature_module.html">community.crypto.openssl_signature module – Sign data with openssl</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="openssl_signature_info_module.html">community.crypto.openssl_signature_info module – Verify signatures with openssl</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="x509_certificate_info_module.html">community.crypto.x509_certificate_info module – Provide information of OpenSSL X.509 certificates</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="x509_certificate_info_filter.html">community.crypto.x509_certificate_info filter – Retrieve information from X.509 certificates in PEM format</a></li>
<liclass="toctree-l1"><aclass="reference internal"href="x509_crl_info_filter.html">community.crypto.x509_crl_info filter – Retrieve information from X.509 CRLs in PEM format</a></li>
<ahref="https://github.com/ansible-collections/community.crypto/edit/main/plugins/modules/crypto_info.py?description=%23%23%23%23%23%20SUMMARY%0A%3C!—%20Your%20description%20here%20–%3E%0A%0A%0A%23%23%23%23%23%20ISSUE%20TYPE%0A-%20Docs%20Pull%20Request%0A%0A%2Blabel:%20docsite_pr"class="fa fa-github"> Edit on GitHub</a>
<h1>community.crypto.crypto_info module – Retrieve cryptographic capabilities<aclass="headerlink"href="#community-crypto-crypto-info-module-retrieve-cryptographic-capabilities"title="Permalink to this heading"></a></h1>
<p>This module is part of the <aclass="reference external"href="https://galaxy.ansible.com/community/crypto">community.crypto collection</a> (version 2.10.0).</p>
<h2><aclass="toc-backref"href="#id1">Synopsis</a><aclass="headerlink"href="#synopsis"title="Permalink to this heading"></a></h2>
<ulclass="simple">
<li><p>Retrieve information on cryptographic capabilities.</p></li>
<li><p>The current version retrieves information on the <aclass="reference external"href="https://cryptography.io/">Python cryptography library</a> available to Ansible modules, and on the OpenSSL binary <codeclass="docutils literal notranslate"><spanclass="pre">openssl</span></code> found in the path.</p></li>
</ul>
</section>
<sectionid="attributes">
<h2><aclass="toc-backref"href="#id2">Attributes</a><aclass="headerlink"href="#attributes"title="Permalink to this heading"></a></h2>
<td><divclass="ansible-option-cell"><p>Can run in <codeclass="docutils literal notranslate"><spanclass="pre">check_mode</span></code> and return changed status prediction without modifying target.</p>
<td><divclass="ansible-option-cell"><p>Will return details on what has changed (or possibly needs changing in <codeclass="docutils literal notranslate"><spanclass="pre">check_mode</span></code>), when in diff mode.</p>
</div></td>
</tr>
</tbody>
</table>
</section>
<sectionid="examples">
<h2><aclass="toc-backref"href="#id3">Examples</a><aclass="headerlink"href="#examples"title="Permalink to this heading"></a></h2>
<h2><aclass="toc-backref"href="#id4">Return Values</a><aclass="headerlink"href="#return-values"title="Permalink to this heading"></a></h2>
<p>Common return values are documented <aclass="reference external"href="https://docs.ansible.com/ansible/devel/reference_appendices/common_return_values.html#common-return-values"title="(in Ansible vdevel)"><spanclass="xref std std-ref">here</span></a>, the following are the fields unique to this module:</p>
<aclass="ansibleOptionLink"href="#return-openssl"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">dictionary</span></p>
</div></td>
<td><divclass="ansible-option-cell"><p>Information on the installed OpenSSL binary.</p>
<pclass="ansible-option-line"><spanclass="ansible-option-returned-bold">Returned:</span> when <em>openssl_present=true</em></p>
<aclass="ansibleOptionLink"href="#return-openssl/path"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">string</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Path of the OpenSSL binary.</p>
<aclass="ansibleOptionLink"href="#return-openssl/version"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">string</span></p>
<aclass="ansibleOptionLink"href="#return-openssl/version_output"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">string</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>The complete output of <codeclass="docutils literal notranslate"><spanclass="pre">openssl</span><spanclass="pre">version</span></code>.</p>
<aclass="ansibleOptionLink"href="#return-openssl_present"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-cell"><p>Whether the OpenSSL binary <codeclass="docutils literal notranslate"><spanclass="pre">openssl</span></code> is installed and can be found in the PATH.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">dictionary</span></p>
</div></td>
<td><divclass="ansible-option-cell"><p>Information on the installed <aclass="reference external"href="https://cryptography.io/">Python cryptography library</a>.</p>
<pclass="ansible-option-line"><spanclass="ansible-option-returned-bold">Returned:</span> when <em>python_cryptography_installed=true</em></p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/curves"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">list</span> / <spanclass="ansible-option-elements">elements=string</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>List of all supported elliptic curves.</p>
<p>Theoretically this should be non-empty for version 0.5 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_dsa"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether DSA keys are supported.</p>
<p>Theoretically this should be the case for version 0.5 and higher.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_dsa_sign"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether signing with DSA keys is supported.</p>
<p>Theoretically this should be the case for version 1.5 and higher.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_ec"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether elliptic curves are supported.</p>
<p>Theoretically this should be the case for version 0.5 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_ec_sign"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether signing with elliptic curves is supported.</p>
<p>Theoretically this should be the case for version 1.5 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_ed25519"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether Ed25519 keys are supported.</p>
<p>Theoretically this should be the case for version 2.6 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_ed25519_sign"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether signing with Ed25519 keys is supported.</p>
<p>Theoretically this should be the case for version 2.6 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_ed448"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether Ed448 keys are supported.</p>
<p>Theoretically this should be the case for version 2.6 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_ed448_sign"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether signing with Ed448 keys is supported.</p>
<p>Theoretically this should be the case for version 2.6 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_rsa"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether RSA keys are supported.</p>
<p>Theoretically this should be the case for version 0.5 and higher.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_rsa_sign"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether signing with RSA keys is supported.</p>
<p>Theoretically this should be the case for version 1.4 and higher.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_x25519"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether X25519 keys are supported.</p>
<p>Theoretically this should be the case for version 2.0 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_x25519_serialization"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether serialization of X25519 keys is supported.</p>
<p>Theoretically this should be the case for version 2.5 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/has_x448"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-indent-desc"></div><divclass="ansible-option-cell"><p>Whether X448 keys are supported.</p>
<p>Theoretically this should be the case for version 2.5 and higher, depending on the libssl version used.</p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_capabilities/version"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">string</span></p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_import_error"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">string</span></p>
</div></td>
<td><divclass="ansible-option-cell"><p>Import error when trying to import the <aclass="reference external"href="https://cryptography.io/">Python cryptography library</a>.</p>
<pclass="ansible-option-line"><spanclass="ansible-option-returned-bold">Returned:</span> when <em>python_cryptography_installed=false</em></p>
<aclass="ansibleOptionLink"href="#return-python_cryptography_installed"title="Permalink to this return value"></a><pclass="ansible-option-type-line"><spanclass="ansible-option-type">boolean</span></p>
</div></td>
<td><divclass="ansible-option-cell"><p>Whether the <aclass="reference external"href="https://cryptography.io/">Python cryptography library</a> is installed.</p>
<ahref="https://github.com/ansible-collections/community.crypto/issues/new?assignees=&labels=&template=bug_report.md"aria-role="button"target="_blank"rel="noopener external">Submit a bug report</a>
<ahref="https://github.com/ansible-collections/community.crypto/issues/new?assignees=&labels=&template=feature_request.md"aria-role="button"target="_blank"rel="noopener external">Request a feature</a>
<ahref="certificate_complete_chain_module.html"class="btn btn-neutral float-left"title="community.crypto.certificate_complete_chain module – Complete certificate chain given a set of untrusted and root certificates"accesskey="p"rel="prev"><spanclass="fa fa-arrow-circle-left"aria-hidden="true"></span> Previous</a>
<ahref="ecs_certificate_module.html"class="btn btn-neutral float-right"title="community.crypto.ecs_certificate module – Request SSL/TLS certificates with the Entrust Certificate Services (ECS) API"accesskey="n"rel="next">Next <spanclass="fa fa-arrow-circle-right"aria-hidden="true"></span></a>