PAGES
← all tools
◆ Public Key Infrastructure (PKI)

step-ca

v0.29.0 open-source

step-ca is an online certificate authority for secure, automated X.509X.509A standard defining the format of public-key certificates, maintained by the ITU-T, used by cyber tools to authenticate identities and establish encrypted connections over TLS and similar protocols. and SSH certificate management for DevOps.

Summary

step-ca is an open-source online Certificate Authority for automated X.509 and SSH certificate management, released under the Apache 2.0 license and running as a service. It is aimed at DevOps teams managing infrastructure requiring certificate provisioning. Its documentation positions it alongside the step CLI tool, and it handles certificate issuance for TLS, mTLSmTLSMutual TLS, an encrypted connection where both client and server present certificates to prove their identity. It helps services verify who they are communicating with., and SSH, supporting ACMEACMEAn IETF-standard protocol (RFC 8555) for automating TLS certificate issuance and renewal, letting cyber tools manage certificates without manual CA interaction. and federation patterns. The project was first launched in 2016.

step-ca is an online certificate authority for secure, automated X.509 and SSH certificate management for DevOps.

How step-ca helps

How do I get my servers and services talking TLS without hand-issuing every certificate?

runs an ACME server that clients renew against automatically, so certificates for VMs, containers, APIs, and Kubernetes pods get issued and rotated without a human copying files around

How do I let engineers SSH into hosts without managing authorized-keys files everywhere?

issues short-lived SSH certificates to users after single sign-on and to hosts via cloud instance identity documents, so trust is chained to the CA instead of keys scattered across machines

Can I add automated certificate renewal to a legacy CA I already run?

operates as an online intermediate or registration authority in front of an existing root, so ACME-style automation sits on top of a PKI without replacing it

Who is allowed to request a certificate from this CA, and on what grounds?

provisioners define separate authorization methods per requester, so OIDC single sign-on, tokens, or cloud identity can each gate issuance differently

Which key types and lifetimes should this certificate use?

lets each issuance choose RSA, ECDSA, or EdDSA keys and a short lifetime, with defaults chosen so security decisions don't fall on whoever runs the command

How do I keep one certificate authority available if a server goes down?

supports root federation and multiple intermediaries so issuance can continue from more than one CA instance

all 6 features, with the evidence for each →

Languages

Not documented

Features

6 capabilities · 2 backed by code, an API document or a real run

Built from step-ca's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What step-ca offers you

  • Command-line interface1
All capabilities 6 capabilities
Certificate authority and TLS/SSH certificate management verified Provides an online certificate authority for automated issuance and management of TLS, HTTPS, and SSH certificates, including ACME protocol support with strict FQDN enforcement. 21 releases · 7 other sources · first seen Mar 2021

Also counts toward: Command-line interface

release 21 total

  • Enables organization-level identity validation for GCP Workload Identity Federation tokens v0.28.4 · Jul 2025 · source · release history
  • Human errors from SCEPCHALLENGE webhooks are now propagated back to the client v0.28.1 · Nov 2024 · source · release history
  • SCEPCHALLENGE webhooks now pass webhook payload data to the remote endpoint v0.28.1 · Nov 2024 · source · release history
  • Adds --dns.strict CLI flag to enable strict DNS resolution v0.27.1 · Jul 2024 · source · release history
  • Adds support for validities in certificates templates, allowing precise control over certificate expiration times during issuance. v0.27.0 · Jul 2024 · source · release history
  • Adds the IsCAServerCert field to expose whether an endpoint certificate is a CA server certificate. v0.22.0 · Aug 2022 · source · release history

docs

  • Online certificate authority for automated TLS, HTTPS, and SSH certificate management for DevOps environments.

command line

example

  • Start step-ca with strict DNS resolution enabled for tighter network validation. step-ca config.json --dns.strict v0.27.1 · Jul 2024 · source
  • Configure the minimum public key length in your step-ca JSON config. "minimum": { "publicKey": { "length": 4096 } } v0.16.0 · Jul 2021 · source
  • Add a new SCEP provisioner to your step-ca configuration alongside existing ones. "provisioners": [ { "type": "SCEP", "name": "scep-devices", "defaultTLSPort": true } ] v0.16.0 · Jul 2021 · source
  • Pass the path to an encrypted key file for the JWK issuer. step-ca --issuer-password-file /path/to/encrypted.key config.json v0.15.11 · Mar 2021 · source
Badger database migration verified Migrates data between Badger database versions (v1 and v2) and destination database types, with configurable source version and value directory. 1 release · 4 other sources · first seen Aug 2022

release

  • Adds a middleware to automatically route HEAD requests to GET for supported endpoints. v0.22.0 · Aug 2022 · source · release history

command line

Service initialization and deployment configuration shipped Provides startup configuration and readiness notifications for running the cyber tooling in containerized environments and systemd services. 2 releases · first seen Dec 2025

release

  • feat: Add sd_notify support enables systemd-compatible ready notifications for the service v0.29.0 · Dec 2025 · source · release history
  • DOCKER_STEPCA_INIT_* environment variables are added to pass configuration during container startup v0.29.0 · Dec 2025 · source · release history
Provisioner lifecycle management shipped Manages the operational states of provisioners, including an explicit uninitialized state to replace previous disabled configurations. 1 release · first seen Jul 2024

release

  • Introduces an Uninitialized state for provisioners (replacing the previous Disabled state) to manage their lifecycle explicitly. v0.27.0 · Jul 2024 · source · release history
Key management shipped Provides cryptographic key operations and supports decryption through an instrumented KMS API interface. 1 release · first seen Apr 2024

release

  • Adds kmsapi.Decrypter interface support to the instrumented key manager v0.26.1 · Apr 2024 · source · release history
Azure AD Workload Identity support shipped Adds a dedicated azure_oidc provider type to handle Azure AD Workload Identity tokens alongside the standard azure provider. 1 release · first seen Aug 2021

release

  • Adds azure_oidc as a distinct provider type alongside azure to correctly handle Azure AD Workload Identity tokens. v0.17.2 · Aug 2021 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for step-ca, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail step-ca puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Website history

smallstep.com, every change

Smallstep's home page and 10 more pages as they looked each month from September 2021 to October 2026: 25 renders, 4 changes of tagline or palette. Step through them, play them, or put any two months side by side.

Website history is included with Researcher and Business.

See plans →

Releases

18 entries

  1. March 20261
  2. December 20252
  3. July 20251
  4. November 20241
  5. July 20242
  6. April 20241
  7. August 20221
  8. May 20221
  9. September 20211
  10. August 20214
  11. July 20211
  12. May 20211
  13. March 20211

    18 entries

    Project health

    Issue, contributor and maintainer activity in smallstep/certificates, 2023-12 – 2026-11, as of 2026-11-03. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 20 +6 vs prior 12 months
    2. Maintainers 4 +2 joined · −0 left, last 12 months
    3. Bus factor 2 committers behind half the commits
    4. Community-filed 98% of issues opened, last 12 months
    5. Median time to close 15 days first maintainer reply 3 days
    6. Open backlog 248 of 731 issues ever filed
    1. Issues opened / month 2 · 0 communitymaintainers
    2. Open backlog 248
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 8,919
    Issue themes, last 12 months
    • bugs 41%
    • features 35%
    • other 24%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →