PKI-as-a-Service

PKI-as-a-Service

    ACME

    The Automatic Certificate Management Environment (ACME, RFC 8555) lets servers, containers and applications request and renew certificates automatically. It is the recommended method for Linux and web servers and for short-lived certificates, where manual CSR enrollment does not scale.

    Availability: ACME is available on request. The customer's EC engagement lead arranges for it to be enabled for the required Issuing CA and certificate profile; EC then provides the ACME directory URL.

    How ACME works with PKI-as-a-Service

    1. An ACME client (for example certbot, acme.sh or cert-manager) registers an account with the PKI-as-a-Service ACME directory.
    2. The client asks for a certificate for one or more DNS names and proves control of each name through a challenge.
    3. The ACME service forwards the approved request to the EC Issuing CA, which signs the certificate.
    4. The client installs the certificate and renews it automatically before it expires.

    Prerequisites

    • The EC Root CA and Issuing CA certificates are trusted on the server (see Linux).
    • Outbound HTTPS (TCP 443) from the server to the ACME directory URL.
    • An ACME directory URL.
    • A certificate template or profile approved for ACME (for example TLS server, RSA 2048+ or ECDSA P-256, Server Authentication EKU).
    ItemValue
    ACME directory URLProvided by EC when ACME is enabled, one directory URL per Issuing CA or certificate profile
    Account bindingNot required (no External Account Binding)
    Supported challengeshttp-01 and dns-01 (use dns-01 for wildcard names)
    Maximum validitySet by the agreed certificate profile, up to 1 year (see Certificate Policy, TLS server profile)

    Request a certificate with certbot

    sudo certbot certonly --standalone \
      --server https://<acme-host>/directory \
      -d app.example.com --agree-tos -m [email protected]
    
    # Test automatic renewal
    sudo certbot renew --dry-run

    Use --webroot -w <path> instead of --standalone when a web server is already listening on port 80.

    Request a certificate with acme.sh

    acme.sh --register-account --server https://<acme-host>/directory
    acme.sh --issue --server https://<acme-host>/directory -d app.example.com -w /var/www/html

    Kubernetes (cert-manager)

    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: ec-pkiaas
    spec:
      acme:
        server: https://<acme-host>/directory
        privateKeySecretRef:
          name: ec-pkiaas-account-key
        solvers:
          - http01:
              ingress:
                class: nginx

    Operations

    • ACME-issued certificates appear in the portal Inventory like any other certificate and are covered by the expiry reports.
    • Revoke a certificate in the portal or with the client, for example certbot revoke --cert-path <file> --server <directory>.
    • Protect the ACME account key on each server; anyone with it can request certificates for that account.

    Troubleshooting: If renewal fails, check that the server still trusts the EC chain, that outbound 443 to the ACME host is allowed, and that the challenge (port 80 for http-01, or the DNS record for dns-01) is reachable.

    On this Page:
    Support Privacy Policy Terms of Service

    Copyright 2026 Encryption Consulting LLC. All rights reserved.