• The new Python extension is now available. It allows customers to deploy and manage WSGI-based Python applications on their websites directly from Plesk.
  • Debian 11 has reached its end-of-life (vendor EOL date - August 31, 2026). Plesk Obsidian 18.0.81 is the last release to support it.
    If you are running Plesk Obsidian on Debian 11, we recommend you upgrade those servers to Debian 12 using our dist-upgrade tool.
  • We plan to deprecate and remove the support for XML RPC protocol versions earlier than 1.6.9.1 in Plesk Obsidian 18.0.82. We strongly recommend that you update all existing integrations using earlier versions of the XML RPC protocol to comply with the version 1.6.9.1 specification.

Forwarded to devs [Bug] ACME Extension Ignores Updated EAB Credentials – Old Account Remains Cached for Domain

end

New Pleskian
Username:

TITLE

[Bug] ACME Extension Ignores Updated EAB Credentials – Old Account Remains Cached for Domain

PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE

- Plesk Version: Obsidian 18.0.81 Update #2 (Web Host Edition)
- ACME Extension Version: 1.2.0-9833
- OS: AlmaLinux 8.10 (Cerulean Leopard)
- Certificate Authority: DigiCert

PROBLEM DESCRIPTION

We regularly issue certificates from DigiCert via the ACME extension.
DigiCert provides separate sets of ACME credentials (Directory URL,
EAB Key ID, EAB HMAC Key) for each certificate product type. We use
two product types:
- Secure Site (OV)
- QuickSSL Premium (DV)
It appears that Plesk's ACME extension caches the ACME account
registered with the first-used EAB credentials, and continues to use
that cached account even after the user explicitly enters new EAB
credentials in the UI. The newly entered credentials appear to be
silently ignored.
Based on ACME protocol behavior, EAB credentials are only used during
the initial account registration. Once an account is registered, the
ACME client stores the account private key locally and reuses it for
all subsequent requests. It appears Plesk does not invalidate this
cached account when new EAB credentials are provided.

STEPS TO REPRODUCE

1. For domain example.org, submit a certificate request using the
EAB credentials for "Secure Site" (wrong product type).
→ DigiCert issues a Secure Site certificate.
2. Cancel/revoke the incorrectly issued certificate on the DigiCert
side.
3. In Plesk, click "Reissue Certificate" for example.org.
Enter the correct EAB Key ID and EAB HMAC Key for
"QuickSSL Premium" and submit.
4. (Also tested) Delete the existing certificate entry for example.org
in Plesk entirely, then start a fresh issuance using the
QuickSSL Premium EAB credentials.
Reproducibility: 100%

ACTUAL RESULT

In both step 3 and step 4, DigiCert still issues a Secure Site
certificate instead of QuickSSL Premium.
Confirmed with DigiCert Support: their logs show the request arriving
with the Secure Site EAB credentials, not the QuickSSL Premium
credentials entered in the Plesk UI.

EXPECTED RESULT

When a user enters new EAB credentials (different Key ID / HMAC Key)
in the certificate issuance UI, Plesk should:
1. Detect that the credentials differ from the previously registered
ACME account, AND
2. Register a new ACME account using the newly provided credentials,
discarding or replacing the cached account for that domain.
If Plesk intentionally reuses a cached ACME account and ignores new
EAB credentials, that behavior should at minimum be clearly documented
and the UI should display a warning. However, we believe this
constitutes a bug.

ANY ADDITIONAL INFORMATION

This issue makes it impossible to switch between DigiCert certificate
product types (or any CA that uses per-product EAB credentials) for
a domain that has previously been issued a certificate. The wrong
certificate type will always be issued regardless of what credentials
are entered in the UI.
Please investigate whether the ACME extension caches ACME account
information per domain (or per CA Directory URL), and whether that
cache is properly invalidated when new EAB credentials are provided.

YOUR EXPECTATIONS FROM PLESK SERVICE TEAM

Answer the question
 
Thank you for the report, @end . I forwarded it to our engineers for further review. As soon as I have confirmation on whether the behavior is recognized as a bug in the extension and advise on how to best handle such cases, I will follow up. Thank you for your patience in the meantime.
 
@end , the behavior was confirmed as bug with ID EXTPLESK-14415. It will be fixed in one of the upcoming extension releases. I cannot provide an ETA for the time being. In the meantime, as a workaround our engineers suggested to remove or move the corresponding acme_account file on the server
/usr/local/psa/var/modules/acme/acme_accounts/ACCOUNT_FILE.json and reissue the certificate with the new credentials. The file name is the SHA-1 of <ACME Directory URL>|<domain>, with the URL exactly as in the form:

Code:
echo -n 'https://one.digicert.com/mpki/api/v1/acme/v2/directory|example.org' | sha1sum


Thank you for bringing our attention to the issue.
 
Back
Top