step-ca

step-ca online certificate authority issuing short-lived X.509 and SSH certificates. Built from source, shell-less, signed and rebuilt daily.

Vulnerabilities
Compressed size
16 MB
Architectures
amd64, arm64
Default user
nonroot (65532)
Last built
today

Pull this image

docker pull ghcr.io/rtvkiz/minimal-step-ca:latest
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
PATH=/usr/bin:/binSTEPPATH=/home/step
Labels
org.opencontainers.image.titleminimal-step-ca
org.opencontainers.image.descriptionHardened shell-less step-ca online certificate authority built from source via melange with daily CVE patches
org.opencontainers.image.urlhttps://github.com/rtvkiz/minimal
org.opencontainers.image.sourcehttps://github.com/rtvkiz/minimal/tree/main/images/step-ca
org.opencontainers.image.licensesApache-2.0
TagPullPublished
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.

PackageVersionLicense
alpine/ca-certificates20261020MPL-2.0 AND MIT
ca-certificates-bundle20261020-r0MPL-2.0 AND MIT
ca-certificates-bundle20261020-r0(MPL-2.0 AND MIT)
ca-certificates-bundle20261020-r0—
ca-certificates.yaml8061afafa65af5a9026707a8880e14120dd6f4a0Apache-2.0
images/step-ca/melange.yaml862101ee7af52b6dfb7db319fbf7c11793a3d433—
sha256:274fa58a1f8dfd3f89cbc7c7ed4b2951c144bb1416c5aacda1181ee5c0f8cf9asha256:274fa58a1f8dfd3f89cbc7c7ed4b2951c144bb1416c5aacda1181ee5c0f8cf9a—
sha256:d520e9b9b10a079bf230dba69af32577b456f4f19ba5130153e995dbb25c63b820230201—
step-ca0.30.2-r0Apache-2.0
wolfi20230201—
wolfi-baselayout20230201-r31MIT
wolfi-baselayout20230201-r31MIT
wolfi-baselayout20230201-r31—
wolfi-baselayout.yamled415005c84750f03c4a9252137813734a224ae7Apache-2.0
1 high2 medium 3 fixable 103 withheld
CVESeverityPackageInstalledFixed 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.