Technical Tip: ACME certificate provisioning on FortiGate HA cluster causes configuration sync issues
| Description | This article describes an issue where provisioning an ACME certificate on a FortiGate HA cluster using the ACME protocol causes the cluster to go out of sync. |
| Scope | FortiOS v7.2.11, v7.2.12, v7.4.8. |
| Solution | When configuring a new ACME certificate on a FortiGate HA Cluster on an affected firmware version, the email field in the ACME account configuration is incorrectly empty. Since this is not a valid configuration, the secondary fails to apply it, causing the HA sync issue.
Since this is a result of invalid configuration not being applied to the secondary, neither recalculating the HA checksums nor restarting the synchronization process restores the sync status to 'in-sync'. execute ha synchronize start The 'email' attribute sent to the secondary unit is an empty string and is non-configurable, which results in the HA cluster going out of sync.
Manual configuration of the missing entries under config system acme and config accounts on the secondary unit is not possible, as these settings are automatically generated on the primary unit.
config system acme
In the output below, the email address used in the ACME-provisioned local certificate is not seen. get system acme acc-details
This matches a known issue reported under bug 1170282 for FortiOS v7.2.11, v7.2.12, and v7.4.8, listed in FortiOS v7.4.8 Release Notes.
Workaround: Restore the missing configuration on the primary unit in the HA cluster following the steps below.
get system acme acc-details
diagnose sys acme add-account "ACME-.letsencrypt.org-0000" "https://acme-v02.api.letsencrypt.org/acme/acct/123456789" "https://acme-v02.api.letsencrypt.org/directory" "valid" "email@example.com" "-----BEGIN PRIVATE KEY----- [...] -----END PRIVATE KEY-----"
Ensure the details provided to the add-account command match the intended configuration, including the email address found in the acme-email field of the local certificate.
diagnose sys acme add-account "ACME-.letsencrypt.org-0001" "https://acme-v02.api.letsencrypt.org/acme/acct/012345678" "https://acme-v02.api.letsencrypt.org/directory" "valid" "email@example.com" "-----BEGIN PRIVATE KEY----- [...] -----END PRIVATE KEY-----"
diagnose sys acme restart
When valid ACME account details are added, this applies the valid ACME configuration, allowing HA configuration to sync to the primary and enabling ACME certificate renewal on schedule. This can be verified using the below CLI command. get system acme acc-details
Related article: |