Lion Cipher Lab

Keyless-sign a container with Sigstore and verify it by identity

Why it matters

Signing an artifact answers the question a supply-chain defender cares about most -- 'is this really from who I think, and unchanged since?' -- but the classic way to sign has a dirty secret: the private KEY. A signing key is a long-lived, high-value credential you must generate, store somewhere safe, back up, rotate on a schedule, and above all never leak -- and keys leak constantly, committed to Git by accident, copied onto build servers, pulled out of CI logs. A leaked signing key is a catastrophe, because now an attacker can sign malware that verifies perfectly as YOU. Managing keys…

What you'll learn

Steps in this lab

  1. The problem keyless fixes: the private key you can never afford to leak
  2. The words you need first: OIDC identity, Fulcio, short-lived cert, Rekor, transparency log
  3. Install cosign
  4. Get a REAL image with a REAL digest -- push a tiny image to ttl.sh (honestly explained)
  5. Keyless-sign it -- the OIDC browser login, Fulcio cert, and Rekor entry in one flow
  6. Verify BY IDENTITY -- and why both --certificate-identity and --certificate-oidc-issuer are required
  7. Break it on purpose: assert the WRONG identity and watch a REAL signature FAIL
  8. Look inside Rekor -- see your signing event in the public transparency log
  9. My take: when keyless wins, how it becomes a gate, and the honest tradeoff
  10. What you did -- and cleaning up the ephemeral image

Open the full interactive lab →