Skip to content

Setup guide

acme.sh setup guide for sslcertificates.io

This guide explains how to connect acme.sh to sslcertificates.io, what credentials to prepare, and how to operate safely in Test (Let's Encrypt Staging) and Live (publicly trusted issuance) environments.

What this integration does

acme.sh interoperability is a first-class integration. sslcertificates.io publishes an ACME directory, account and EAB credentials, and a documented acme.sh --issue --server --dns or --standalone with EAB flags. Contract tests replay RFC 8555 directory, newAccount, newOrder and revoke against a mock ACME server that matches the platform protocol. Live client runs need a disposable hostname.

Category: ACME Clients. Public integration page: /integrations/acme-sh.

Outcomes

  • Keep using acme.sh as the ACME client
  • Inventory the certificates it issues
  • Receive renewal and failure events in sslcertificates.io

Prerequisites

  • No separate acme.sh API token is required.

Authentication and credentials

Authentication mode in the catalog: none.

Fields the connection form expects:

Store secrets in a password manager while you paste them once into sslcertificates.io. Values are encrypted at rest and are not shown again after save. Prefer narrowly scoped credentials over admin passwords.

Point the client at the sslcertificates.io ACME directory. EAB is required when the organization ACME credential is issued.

Permissions (least privilege)

Point the client at the sslcertificates.io ACME directory. EAB is required when the organization ACME credential is issued.

Production ACME on sslcertificates.io stays off until an operator enables it. Interop tests use the platform ACME staging directory or a mock directory.

Connect in the workspace

  1. Sign in to sslcertificates.io
  2. Open Certificates and request a certificate
  3. Choose the validation method your domain supports

After Test connection succeeds, run Discover so the platform lists zones, subscriptions, domains, or deploy targets you are allowed to see. Select only resources this organization should manage.

Test vs Live certificate environments

Test uses Let's Encrypt Staging as the CA directory. Staging certificates are not trusted by browsers; use them to prove DNS-01, HTTP-01, deploy scripts, and webhooks without consuming production rate limits.

Live uses Let's Encrypt Production (or a commercial CA you connect) for publicly trusted certificates. The integration connection is the same; only the API key environment and CA selection on the certificate order change.

Create separate API keys labeled Test and Live. Do not reuse a Live key in CI that hammers validation endpoints.

Inventory and ACME clients

This connector inventories certificates acme.sh already manages and keeps expiry visible alongside orders issued through sslcertificates.io. It does not replace your client unless you configure deployment through the platform.

Discovery

Discovery runs only after authentication succeeds. The integration enumerates resources the credential may read — hosted zones, subscriptions, domains, clusters, or load balancers depending on acme.sh. If discovery returns empty, the credential is usually too narrow or pointed at the wrong account or region.

Renewal and ongoing operation

When acme.sh participates in deployment or DNS automation, renewals re-use the same connection. Watch webhook events such as certificate.renewal_failed and verify the external endpoint after every replacement. A renewed certificate in inventory is not proof HTTPS serves the new leaf.

Disconnect and credential rotation

Open Workspace → Integrations → acme.sh → Disconnect to remove stored credentials from this organization. DNS integrations should delete only TXT records the platform created for ACME challenges. Rotate vendor tokens on a schedule; update the integration, run Test connection, and revoke the old credential at the vendor.

Troubleshooting

Symptom Likely cause What to do
Test connection fails immediately Wrong host, region, or token Re-copy credentials; confirm clock skew and TLS to the vendor API
Discovery is empty Scoped IAM/token cannot list resources Widen read permissions temporarily, discover, then tighten
Order stuck validating DNS or HTTP challenge not public yet Inspect the order challenges; wait for propagation; POST validate
Deploy reported success but HTTPS unchanged Old cert still bound on the edge Compare served SHA-256 to expected leaf; reload or bind again
insufficient_scope from sslcertificates.io API API key missing abilities Mint a key with integrations:write and certificates:write

Stable API error codes are documented at /docs/errors. Include X-Request-Id when contacting support.

Official vendor documentation

Related reading

  • /docs/integrations — how connectors relate to the REST API
  • /docs/test-vs-live — Test (Staging) vs Live (Production) issuance
  • /docs/troubleshooting — order states and verification
  • /integrations/acme-clients — other ACME Clients integrations