step-ca
step-ca online certificate authority issuing short-lived X.509 and SSH certificates. Built from source, shell-less, signed and rebuilt daily.
- Compressed size
- 16 MB
- Architectures
- amd64, arm64
- Default user
- nonroot (65532)
- Last built
- today
- Upstream
- smallstep.com/docs/step-ca
Pull this image
docker pull ghcr.io/rtvkiz/minimal-step-ca:latest docker pull ghcr.io/rtvkiz/minimal-step-ca:latest-dev The -dev variant adds a shell, package manager and build toolchain. For CI and debugging — not production.
- Repository
- ghcr.io/rtvkiz/minimal-step-ca
- Digest
- sha256:019cdc4a5e94852cee83fc3e534342db837da6ca6443ddf703473af38ac43ee2
- Built at
- 2026-11-12T08:43:20Z
- Primary package
- step-ca
- Entrypoint
- /usr/bin/step-ca
- User
- nonroot (65532)
- Working dir
- /
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-step-ca org.opencontainers.image.description Hardened shell-less step-ca online certificate authority built from source via melange with daily CVE patches org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/step-ca org.opencontainers.image.licenses Apache-2.0
- Entrypoint
- /usr/bin/step-ca
- User
- nonroot (65532)
- Working dir
- /
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-step-ca-dev org.opencontainers.image.description Dev variant of minimal-step-ca: same step-ca + shell + curl/openssl/jq. Not for production. org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/step-ca org.opencontainers.image.licenses Apache-2.0 dev.minimal.variant dev
| Tag | Pull | Published |
|---|---|---|
| 0.30-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30-dev | 2026-11-12 |
| 0.30.2-r0-20261112-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261112-dev | 2026-11-12 |
| 0.30.2-r0-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-dev | 2026-11-12 |
| latest-dev | ghcr.io/rtvkiz/minimal-step-ca:latest-dev | 2026-11-12 |
| 0.30 | ghcr.io/rtvkiz/minimal-step-ca:0.30 | 2026-11-12 |
| 0.30.2-r0 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0 | 2026-11-12 |
| 0.30.2-r0-20261112 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261112 | 2026-11-12 |
| latest | ghcr.io/rtvkiz/minimal-step-ca:latest | 2026-11-12 |
| 0.30.2-r0-20261111-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261111-dev | 2026-11-11 |
| 0.30.2-r0-20261111 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261111 | 2026-11-11 |
| 0.30.2-r0-20261110 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261110 | 2026-11-10 |
| 0.30.2-r0-20261110-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261110-dev | 2026-11-10 |
| 0.30.2-r0-20261108 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261108 | 2026-11-08 |
| 0.30.2-r0-20261108-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261108-dev | 2026-11-08 |
| 0.30.2-r0-20261107 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261107 | 2026-11-07 |
| 0.30.2-r0-20261107-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261107-dev | 2026-11-07 |
| 0.30.2-r0-20261106 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261106 | 2026-11-06 |
| 0.30.2-r0-20261106-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261106-dev | 2026-11-06 |
| 0.30.2-r0-20261105 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261105 | 2026-11-05 |
| 0.30.2-r0-20261105-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261105-dev | 2026-11-05 |
| 0.30.2-r0-20261104 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261104 | 2026-11-04 |
| 0.30.2-r0-20261104-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261104-dev | 2026-11-04 |
| 0.30.2-r0-20261029 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261029 | 2026-10-29 |
| 0.30.2-r0-20261029-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261029-dev | 2026-10-29 |
| 0.30.2-r0-20261027 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261027 | 2026-10-27 |
| 0.30.2-r0-20261027-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261027-dev | 2026-10-27 |
| 0.30.2-r0-20261026 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261026 | 2026-10-26 |
| 0.30.2-r0-20261026-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261026-dev | 2026-10-26 |
| 0.30.2-r0-20261025 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261025 | 2026-10-25 |
| 0.30.2-r0-20261025-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261025-dev | 2026-10-25 |
| 0.30.2-r0-20261024 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261024 | 2026-10-24 |
| 0.30.2-r0-20261024-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261024-dev | 2026-10-24 |
| 0.30.2-r0-20261023 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261023 | 2026-10-23 |
| 0.30.2-r0-20261023-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261023-dev | 2026-10-23 |
| 0.30.2-r0-20261022 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261022 | 2026-10-22 |
| 0.30.2-r0-20261022-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261022-dev | 2026-10-22 |
| 0.30.2-r0-20261021 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261021 | 2026-10-21 |
| 0.30.2-r0-20261021-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261021-dev | 2026-10-21 |
| 0.30.2-r0-20261020 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261020 | 2026-10-20 |
| 0.30.2-r0-20261020-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261020-dev | 2026-10-20 |
| 0.30.2-r0-20261019 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261019 | 2026-10-19 |
| 0.30.2-r0-20261019-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261019-dev | 2026-10-19 |
| 0.30.2-r0-20261018 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261018 | 2026-10-18 |
| 0.30.2-r0-20261018-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261018-dev | 2026-10-18 |
| 0.30.2-r0-20261016 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261016 | 2026-10-16 |
| 0.30.2-r0-20261017 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261017 | 2026-10-16 |
| 0.30.2-r0-20261016-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261016-dev | 2026-10-16 |
| 0.30.2-r0-20261017-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261017-dev | 2026-10-16 |
| 0.30.2-r0-20261015 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261015 | 2026-10-15 |
| 0.30.2-r0-20261015-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261015-dev | 2026-10-15 |
| 0.30.2-r0-20261014 | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261014 | 2026-10-14 |
| 0.30.2-r0-20261014-dev | ghcr.io/rtvkiz/minimal-step-ca:0.30.2-r0-20261014-dev | 2026-10-14 |
14 packages in the image, resolved from the SPDX SBOM.
| Package | Version | License |
|---|---|---|
| alpine/ca-certificates | 20261020 | MPL-2.0 AND MIT |
| ca-certificates-bundle | 20261020-r0 | MPL-2.0 AND MIT |
| ca-certificates-bundle | 20261020-r0 | (MPL-2.0 AND MIT) |
| ca-certificates-bundle | 20261020-r0 | — |
| ca-certificates.yaml | 8061afafa65af5a9026707a8880e14120dd6f4a0 | Apache-2.0 |
| images/step-ca/melange.yaml | 862101ee7af52b6dfb7db319fbf7c11793a3d433 | — |
| sha256:274fa58a1f8dfd3f89cbc7c7ed4b2951c144bb1416c5aacda1181ee5c0f8cf9a | sha256:274fa58a1f8dfd3f89cbc7c7ed4b2951c144bb1416c5aacda1181ee5c0f8cf9a | — |
| sha256:d520e9b9b10a079bf230dba69af32577b456f4f19ba5130153e995dbb25c63b8 | 20230201 | — |
| step-ca | 0.30.2-r0 | Apache-2.0 |
| wolfi | 20230201 | — |
| wolfi-baselayout | 20230201-r31 | MIT |
| wolfi-baselayout | 20230201-r31 | MIT |
| wolfi-baselayout | 20230201-r31 | — |
| wolfi-baselayout.yaml | ed415005c84750f03c4a9252137813734a224ae7 | Apache-2.0 |
1 high2 medium 3 fixable 103 withheld
| CVE | Severity | Package | Installed | Fixed in |
|---|---|---|---|---|
| GHSA-mgcc-cww5-fp2q | High | github.com/go-jose/go-jose/v3 | v3.0.5 | — |
| GHSA-4w3g-jfj2-cw2q | Medium | github.com/go-jose/go-jose/v3 | v3.0.5 | — |
| GHSA-vvm8-gf78-28g4 | Medium | github.com/go-jose/go-jose/v3 | v3.0.5 | — |
| GHSA-4w3g-jfj2-cw2q | Unknown | step-ca | 0.30.2-r0 | 0.30.2-r32 |
| GHSA-mgcc-cww5-fp2q | Unknown | step-ca | 0.30.2-r0 | 0.30.2-r32 |
| GHSA-vvm8-gf78-28g4 | Unknown | step-ca | 0.30.2-r0 | 0.30.2-r32 |
Everything is verifiable without an account. Copy and run:
Build provenance (SLSA v1.0, Build L2)
gh attestation verify oci://ghcr.io/rtvkiz/minimal-step-ca:latest --owner rtvkiz Cosign signature
cosign verify \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-step-ca:latest SBOM attestation (SPDX)
cosign verify-attestation --type spdxjson \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-step-ca:latest \
| jq -r '.payload | @base64d | fromjson | .predicate' Signatures are logged in the public Rekor transparency log.
More Infrastructure images
Weighing this against another provider? The comparison pages publish head-to-head scan data with the raw dataset, including the images where Minimal comes off worse — or read the migration guide for what actually breaks when you switch.