Setup guide
Smallstep step-ca setup guide for sslcertificates.io
This guide explains how to connect Smallstep step-ca 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
Smallstep step-ca is implemented as an ACME private CA with optional EAB provisioners. The connector registers, issues, renews, revokes and can list provisioners when an admin token exists. Fingerprints of the private root are stored for TLS verification of internal endpoints.
Category: Private PKI. Public integration page: /integrations/smallstep.
Outcomes
- Issue certificates from your Smallstep step-ca private CA
- Renew internal names before they expire
- Revoke certificates that should no longer be trusted
Prerequisites
- Active Smallstep step-ca account
- API access
- ACME provisioner on step-ca, optionally with EAB. Admin API is used only when a management token is stored.
Authentication and credentials
Authentication mode in the catalog: acme_eab.
Fields the connection form expects: step-ca ACME directory (required); Provisioner EAB KID (optional); Provisioner EAB HMAC (optional); Root fingerprint (optional)
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.
ACME provisioner on step-ca, optionally with EAB. Admin API is used only when a management token is stored.
Permissions (least privilege)
ACME provisioner on step-ca, optionally with EAB. Admin API is used only when a management token is stored.
step-ca must be reachable from the platform. Public trust is not claimed for private roots.
Connect in the workspace
- Sign in to sslcertificates.io
- Open Integrations
- Choose Smallstep step-ca
- Enter the connection details
- Test the connection
- Select the resources you want to manage
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.
Certificate authority account
Connect the Smallstep step-ca account you already operate. Commercial products bill through your contract with the CA; sslcertificates.io does not invent CA pricing on public pages.
Orders use the same REST shape as Let's Encrypt-backed issuance where ACME applies. Multi-CA routing is explicit on each order — there is no silent failover after a challenge is published.
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 Smallstep step-ca. If discovery returns empty, the credential is usually too narrow or pointed at the wrong account or region.
Renewal and ongoing operation
When Smallstep step-ca 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 → Smallstep step-ca → 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
- https://smallstep.com/docs/step-ca/provisioners/
- https://smallstep.com/docs/step-ca/certificate-authority-server-production/
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/private-pki— other Private PKI integrations