Lion Cipher Lab

Automate TLS certificates with ACME (locally, no public domain)

Why it matters

The single most common way TLS breaks in the real world is embarrassingly dumb: a certificate expired and nobody renewed it, so a site or an internal API went dark. Hand-signing certificates with OpenSSL or `step ca certificate` guarantees this outage eventually — because it puts a human on a calendar reminder for something that must happen forever, on every service, without fail. ACME is the protocol that deleted that failure mode: a client proves it controls a name, the CA issues a certificate, and the client renews automatically before expiry, with no human involved. It is what Let's…

What you'll learn

Steps in this lab

  1. Why automate at all — the OpenSSL/step trap you already hit
  2. The ACME flow, in plain terms
  3. The three challenges — and when DNS-01 is the only option
  4. Stand up a local ACME server (turn your step-ca into one)
  5. Install an ACME client (certbot)
  6. Get your first certificate over HTTP-01
  7. Prove renewal is automatic — the whole reason you did this
  8. The operational reality when the CA is public (Let's Encrypt)
  9. What you built — and where it goes next

Open the full interactive lab →