This module has been removed
in version 2.0.0 of community.crypto.
diff --git a/branch/main/acme_account_info_module.html b/branch/main/acme_account_info_module.html
index 91bd535d..12ae3628 100644
--- a/branch/main/acme_account_info_module.html
+++ b/branch/main/acme_account_info_module.html
@@ -24,7 +24,7 @@
-
+
@@ -99,7 +99,10 @@
This module was called acme_account_facts before Ansible 2.8. The usage did not change.
-
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
Although the defaults are chosen so that the module can be used with the Let’s Encrypt CA, the module can in principle be used with any CA providing an ACME endpoint, such as Buypass Go SSL.
So far, the ACME modules have only been tested by the developers against Let’s Encrypt (staging and production), Buypass (staging and production), ZeroSSL (production), and Pebble testing server. We have got community feedback that they also work with Sectigo ACME Service for InCommon. If you experience problems with another ACME server, please create an issue to help us supporting it. Feedback that an ACME server not mentioned does work is also appreciated.
+
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
@@ -681,7 +684,7 @@ see Previous
- Next
+ Next
diff --git a/branch/main/acme_account_module.html b/branch/main/acme_account_module.html
index e0d14bff..ac5df3d2 100644
--- a/branch/main/acme_account_module.html
+++ b/branch/main/acme_account_module.html
@@ -99,7 +99,10 @@
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
Although the defaults are chosen so that the module can be used with the Let’s Encrypt CA, the module can in principle be used with any CA providing an ACME endpoint, such as Buypass Go SSL.
So far, the ACME modules have only been tested by the developers against Let’s Encrypt (staging and production), Buypass (staging and production), ZeroSSL (production), and Pebble testing server. We have got community feedback that they also work with Sectigo ACME Service for InCommon. If you experience problems with another ACME server, please create an issue to help us supporting it. Feedback that an ACME server not mentioned does work is also appreciated.
+
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
It is not included in ansible-core.
+To check whether it is installed, run ansible-galaxycollectionlist.
+
To install it, use: ansible-galaxycollectioninstallcommunity.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.acme_ari_info.
Allows to retrieve renewal information on a certificate obtained with the ACME protocol.
+
This module only works with the ACME v2 protocol, and requires the ACME server to support the ARI extension (https://datatracker.ietf.org/doc/draft-ietf-acme-ari/). This module implements version 3 of the ARI draft.
The ACME directory to use. This is the entry point URL to access the ACME CA server API.
+
For safety reasons the default is set to the Let’s Encrypt staging server (for the ACME v1 protocol). This will create technically correct, but untrusted certificates.
Although the defaults are chosen so that the module can be used with the Let’s Encrypt CA, the module can in principle be used with any CA providing an ACME endpoint, such as Buypass Go SSL.
+
So far, the ACME modules have only been tested by the developers against Let’s Encrypt (staging and production), Buypass (staging and production), ZeroSSL (production), and Pebble testing server. We have got community feedback that they also work with Sectigo ACME Service for InCommon. If you experience problems with another ACME server, please create an issue to help us supporting it. Feedback that an ACME server not mentioned does work is also appreciated.
+
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower.
-name:Retrieve renewal information for a certificate
+community.crypto.acme_ari_info:
+certificate_path:/etc/httpd/ssl/sample.com.crt
+register:cert_data
+
+-name:Show the certificate renewal information
+ansible.builtin.debug:
+var:cert_data.renewal_info
+
A URL pointing to a page which may explain why the suggested renewal window is what it is.
+
For example, it may be a page explaining the CA’s dynamic load-balancing strategy, or a page documenting which certificates are affected by a mass revocation event. Should be shown to the user.
+
Returned: depends on the ACME server
+
Sample:"https://example.com/docs/ari"
+
+
+
+
retryAfter
+
string
+
+
A timestamp before the next retry to ask for this information should not be made.
+
Returned: depends on the ACME server
+
Sample:"2024-04-29T01:17:10.236921+00:00"
+
+
+
+
suggestedWindow
+
dictionary
+
+
Describes the window during which the certificate should be renewed.
+
Returned: always
+
+
+
+
end
+
string
+
+
The end of the window during which the certificate should be renewed.
It is not included in ansible-core.
+To check whether it is installed, run ansible-galaxycollectionlist.
+
To install it, use: ansible-galaxycollectioninstallcommunity.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.acme_certificate_deactivate_authz.
Deactivate all authentication objects (authz) for an ACME v2 order, which effectively deactivates (invalidates) the order itself.
+
Authentication objects are bound to an account key and remain valid for a certain amount of time, and can be used to issue certificates without having to re-authenticate the domain. This can be a security concern.
+
Another reason to use this module is to deactivate an order whose processing failed when using include_renewal_cert_id.
Warning: the content will be written into a temporary file, which will be deleted by Ansible when the module completes. Since this is an important private key — it can be used to change the account key, or to revoke your certificates without knowing their private keys —, this might not be acceptable.
+
In case cryptography is used, the content is not written into a temporary file. It can still happen that it is written to disk by Ansible in the process of moving the module with its argument to the node where it is executed.
+
+
+
+
account_key_passphrase
+
string
+
added in community.crypto 1.6.0
+
+
Phassphrase to use to decode the account key.
+
Note: this is not supported by the openssl backend, only by the cryptography backend.
+
+
+
+
+
account_key_src
+
aliases: account_key
+
path
+
+
Path to a file containing the ACME account RSA or Elliptic Curve key.
+
Private keys can be created with the community.crypto.openssl_privatekey or community.crypto.openssl_privatekey_pipe modules. If the requisite (cryptography) is not available, keys can also be created directly with the openssl command line tool: RSA keys can be created with opensslgenrsa.... Elliptic curve keys can be created with opensslecparam-genkey.... Any other tool creating private keys in PEM format can be used as well.
If specified, assumes that the account URI is as given. If the account key does not match this account, or an account with this URI does not exist, the module fails.
+
+
+
+
acme_directory
+
string / required
+
+
The ACME directory to use. This is the entry point URL to access the ACME CA server API.
+
For safety reasons the default is set to the Let’s Encrypt staging server (for the ACME v1 protocol). This will create technically correct, but untrusted certificates.
Although the defaults are chosen so that the module can be used with the Let’s Encrypt CA, the module can in principle be used with any CA providing an ACME endpoint, such as Buypass Go SSL.
+
So far, the ACME modules have only been tested by the developers against Let’s Encrypt (staging and production), Buypass (staging and production), ZeroSSL (production), and Pebble testing server. We have got community feedback that they also work with Sectigo ACME Service for InCommon. If you experience problems with another ACME server, please create an issue to help us supporting it. Feedback that an ACME server not mentioned does work is also appreciated.
+
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
-name:Deactivate all authzs for an order
+community.crypto.acme_certificate_deactivate_authz:
+account_key_content:"{{account_private_key}}"
+order_uri:"{{certificate_result.order_uri}}"
+
The CSR may contain multiple Subject Alternate Names, but each one will lead to an individual challenge that must be fulfilled for the CSR to be signed.
-
Note: the private key used to create the CSR must not be the account key. This is a bad idea from a security point of view, and the CA should not accept the CSR. The ACME server should return an error in this case.
+
Note: the private key used to create the CSR must not be the account key. This is a bad idea from a security point of view, and the CA should not accept the CSR. The ACME server should return an error in this case.
The CSR may contain multiple Subject Alternate Names, but each one will lead to an individual challenge that must be fulfilled for the CSR to be signed.
-
Note: the private key used to create the CSR must not be the account key. This is a bad idea from a security point of view, and the CA should not accept the CSR. The ACME server should return an error in this case.
+
Note: the private key used to create the CSR must not be the account key. This is a bad idea from a security point of view, and the CA should not accept the CSR. The ACME server should return an error in this case.
Determines whether to request renewal of an existing certificate according to the ACME ARI draft 3.
+
This is only used when the certificate specified in dest or fullchain_dest already exists.
+
never never sends the certificate ID of the certificate to renew. always will always send it.
+
when_ari_supported only sends the certificate ID if the ARI endpoint is found in the ACME directory.
+
Generally you should use when_ari_supported if you know that the ACME service supports a compatible draft (or final version, once it is out) of the ARI extension. always should never be necessary. If you are not sure, or if you receive strange errors on invalid replaces values in order objects, use never, which also happens to be the default.
+
ACME servers might refuse to create new orders with replaces for certificates that already have an existing order. This can happen if this module is used to create an order, and then the playbook/role fails in case the challenges cannot be set up. If the playbook/role does not record the order data to continue with the existing order, but tries to create a new one on the next run, creating the new order might fail. For this reason, this option should only be set to a value different from never if the role/playbook using it keeps track of order data accross restarts, or if it takes care to deactivate orders whose processing is aborted. Orders can be deactivated with the community.crypto.acme_certificate_deactivate_authz module.
This module includes basic account management functionality. If you want to have more control over your ACME account, use the community.crypto.acme_account module and disable account management for this module using the modify_account option.
This module was called letsencrypt before Ansible 2.6. The usage did not change.
-
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
Although the defaults are chosen so that the module can be used with the Let’s Encrypt CA, the module can in principle be used with any CA providing an ACME endpoint, such as Buypass Go SSL.
So far, the ACME modules have only been tested by the developers against Let’s Encrypt (staging and production), Buypass (staging and production), ZeroSSL (production), and Pebble testing server. We have got community feedback that they also work with Sectigo ACME Service for InCommon. If you experience problems with another ACME server, please create an issue to help us supporting it. Feedback that an ACME server not mentioned does work is also appreciated.
+
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
Since Ansible 2.8.5, only challenges which are not yet valid are returned.
@@ -884,37 +908,57 @@ see
-
record
-
string
+
identifier
+
dictionary
-
The full DNS record’s name for the challenge.
+
For every identifier, provides a dictionary of challenge types mapping to challenge data.
+
The keys in this dictionary are the identifiers. identifier is a placeholder used in the documentation.
+
Note that the keys are not valid Jinja2 identifiers.
+
Returned: changed
+
+
+
+
challenge-type
+
dictionary
+
+
Data for every challenge type.
+
The keys in this dictionary are the challenge types. challenge-type is a placeholder used in the documentation. Possible keys are http-01, dns-01, and tls-alpn-01.
+
Note that the keys are not valid Jinja2 identifiers.
+
Returned: changed
+
+
+
+
record
+
string
+
+
The full DNS record’s name for the challenge.
Returned: changed and challenge is dns-01
Sample:"_acme-challenge.example.com"
-
-
resource
-
string
+
+
resource
+
string
-
The challenge resource that must be created for validation.
+
The challenge resource that must be created for validation.
The value the resource has to produce for the validation.
+
The value the resource has to produce for the validation.
For http-01 and dns-01 challenges, the value can be used as-is.
For tls-alpn-01 challenges, note that this return value contains a Base64 encoded version of the correct binary blob which has to be put into the acmeValidation x509 extension; see https://www.rfc-editor.org/rfc/rfc8737.html#section-3 for details. To do this, you might need the ansible.builtin.b64decode Jinja filter to extract the binary blob from this return value.
It is not included in ansible-core.
+To check whether it is installed, run ansible-galaxycollectionlist.
+
To install it, use: ansible-galaxycollectioninstallcommunity.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.acme_certificate_renewal_info.
The ACME directory to use. This is the entry point URL to access the ACME CA server API.
+
For safety reasons the default is set to the Let’s Encrypt staging server (for the ACME v1 protocol). This will create technically correct, but untrusted certificates.
The percentage of the certificate’s validity period that should be left.
+
For example, if remaining_percentage=0.1, and the certificate’s validity period is 90 days, this check causes should_renew=true if the certificate is valid for less than 9 days.
+
Must be a value between 0 and 1.
+
+
+
+
request_timeout
+
integer
+
added in community.crypto 2.3.0
+
+
The time Ansible should wait for a response from the ACME API.
+
This timeout is applied to all HTTP(S) requests (HEAD, GET, POST).
+
Default:10
+
+
+
+
select_crypto_backend
+
string
+
+
Determines which crypto backend to use.
+
The default choice is auto, which tries to use cryptography if available, and falls back to openssl.
+
If set to openssl, will try to use the openssl binary.
+
If set to cryptography, will try to use the cryptography library.
+
Choices:
+
+
"auto"← (default)
+
"cryptography"
+
"openssl"
+
+
+
+
+
use_ari
+
boolean
+
+
Whether to use ARI information, if available.
+
Set this to false if the ACME server implements ARI in a way that is incompatible with this module.
+
Choices:
+
+
false
+
true← (default)
+
+
+
+
+
validate_certs
+
boolean
+
+
Whether calls to the ACME directory will validate TLS certificates.
+
Warning: Should only ever be set to false for testing purposes, for example when testing against a local Pebble server.
Although the defaults are chosen so that the module can be used with the Let’s Encrypt CA, the module can in principle be used with any CA providing an ACME endpoint, such as Buypass Go SSL.
+
So far, the ACME modules have only been tested by the developers against Let’s Encrypt (staging and production), Buypass (staging and production), ZeroSSL (production), and Pebble testing server. We have got community feedback that they also work with Sectigo ACME Service for InCommon. If you experience problems with another ACME server, please create an issue to help us supporting it. Feedback that an ACME server not mentioned does work is also appreciated.
+
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower.
-name:Retrieve renewal information for a certificate
+community.crypto.acme_certificate_renewal_info:
+certificate_path:/etc/httpd/ssl/sample.com.crt
+register:cert_data
+
+-name:Should the certificate be renewed?
+ansible.builtin.debug:
+var:cert_data.should_renew
+
Returned: success, the certificate exists, and has an Authority Key Identifier X.509 extension
+
Sample:"aYhba4dGQEHhs3uEe6CuLN4ByNQ.AIdlQyE"
+
+
+
+
msg
+
string
+
+
Information on the reason for renewal.
+
Should be shown to the user, as in case of ARI triggered renewal it can contain important information, for example on forced revocations for misissued certificates.
+
Returned: success
+
Sample:"Thecertificatedoesnotexist."
+
+
+
+
should_renew
+
boolean
+
+
Whether the certificate should be renewed.
+
If no certificate is provided, or the certificate is expired, will always be true.
Trying to revoke an already revoked certificate should result in an unchanged status, even if the revocation reason was different than the one specified here. Also, depending on the server, it can happen that some other error is returned if the certificate has already been revoked.
-
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
Although the defaults are chosen so that the module can be used with the Let’s Encrypt CA, the module can in principle be used with any CA providing an ACME endpoint, such as Buypass Go SSL.
So far, the ACME modules have only been tested by the developers against Let’s Encrypt (staging and production), Buypass (staging and production), ZeroSSL (production), and Pebble testing server. We have got community feedback that they also work with Sectigo ACME Service for InCommon. If you experience problems with another ACME server, please create an issue to help us supporting it. Feedback that an ACME server not mentioned does work is also appreciated.
+
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxycollectionlist.
To install it, use: ansible-galaxycollectioninstallcommunity.crypto.
@@ -420,9 +423,9 @@ see
The account_uri option must be specified for properly authenticated ACME v2 requests (except a new-account request).
Using the ansible tool, community.crypto.acme_inspect can be used to directly execute ACME requests without the need of writing a playbook. For example, the following command retrieves the ACME account with ID 1 from Let’s Encrypt (assuming /path/to/key is the correct private account key): ansiblelocalhost-macme_inspect-a"account_key_src=/path/to/keyacme_directory=https://acme-v02.api.letsencrypt.org/directoryacme_version=2account_uri=https://acme-v02.api.letsencrypt.org/acme/acct/1method=geturl=https://acme-v02.api.letsencrypt.org/acme/acct/1"
-
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).
Although the defaults are chosen so that the module can be used with the Let’s Encrypt CA, the module can in principle be used with any CA providing an ACME endpoint, such as Buypass Go SSL.
So far, the ACME modules have only been tested by the developers against Let’s Encrypt (staging and production), Buypass (staging and production), ZeroSSL (production), and Pebble testing server. We have got community feedback that they also work with Sectigo ACME Service for InCommon. If you experience problems with another ACME server, please create an issue to help us supporting it. Feedback that an ACME server not mentioned does work is also appreciated.
+
If a new enough version of the cryptography library is available (see Requirements for details), it will be used instead of the openssl binary. This can be explicitly disabled or enabled with the select_crypto_backend option. Note that using the openssl binary will be slower and less secure, as private key contents always have to be stored on disk (see account_key_content).