step-ca — Private Certificate Authority for DevOps
step-ca is an open-source online Certificate Authority for secure automated certificate management. It provides ACME, SSH certificates, and mTLS for internal infrastructure — enabling TLS everywhere and SSO for SSH in your organization.
Agent 可直接安装
这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。
npx -y tokrepo@latest install 87ef82d8-372b-11f1-9bc6-00163e2b0d79 --target codex先 dry-run 确认安装计划,再运行此命令。
What it is
step-ca is a private online Certificate Authority created by Smallstep that brings the automation of the public web PKI to internal infrastructure. It issues X.509 certificates for TLS and SSH certificates for authentication, supporting the ACME protocol that powers Let's Encrypt. This means internal services can get certificates automatically using the same tools (certbot, ACME clients) used on the public internet.
step-ca targets DevOps engineers and platform teams who need encrypted internal traffic, mutual TLS between microservices, and SSH certificate-based authentication without exposing services to public certificate authorities.
How it saves time or tokens
step-ca automates certificate issuance and renewal that would otherwise require manual generation and distribution. The ACME protocol handles certificate lifecycle automatically, eliminating expired certificate incidents. SSH certificates replace SSH key management entirely -- no more distributing authorized_keys files across servers.
How to use
- Install the step CLI and step-ca:
brew install step step-ca. - Initialize a new CA:
step ca init --name 'My CA' --dns ca.example.com --address :443. - Start the CA server:
step-ca $(step path)/config/ca.json.
Example
# Initialize a new private CA
step ca init --name 'Internal CA' --dns ca.internal --address :8443
# Start the CA
step-ca $(step path)/config/ca.json
# Get a certificate for a service
step ca certificate myapp.internal myapp.crt myapp.key
# Renew automatically with a daemon
step ca renew --daemon myapp.crt myapp.key
# Issue an SSH certificate
step ssh certificate user@host ssh_key
Related on TokRepo
- AI Tools for Security -- explore security tools for certificate management and encryption
- AI Tools for DevOps -- discover DevOps automation for infrastructure security
Common pitfalls
- The root CA key must be kept secure; compromise of this key invalidates the entire certificate chain. Use hardware security modules (HSMs) in production.
- Clients need the CA root certificate installed in their trust store; without it, TLS connections to internal services will fail with certificate verification errors.
- ACME challenges for internal services require DNS or TLS-ALPN challenges, not HTTP-01, since internal services are not publicly accessible.
常见问题
Let's Encrypt is a public CA for internet-facing services. step-ca is a private CA for internal infrastructure. step-ca uses the same ACME protocol but issues certificates for internal domains that public CAs cannot validate.
Yes. step-ca issues SSH user and host certificates, replacing traditional SSH key management. SSH certificates expire automatically and can be tied to identity providers for single sign-on.
Yes. step-ca integrates with cert-manager for Kubernetes, automatically issuing and renewing TLS certificates for pods and ingress resources.
step-ca supports file-based key storage, Google Cloud KMS, AWS KMS, Azure Key Vault, YubiKey, and PKCS#11 hardware security modules.
The open-source step-ca is free under the Apache-2.0 license. Smallstep also offers a commercial product with additional features like a hosted CA and admin dashboard.
引用来源 (3)
- step-ca GitHub— step-ca is a private ACME Certificate Authority by Smallstep
- Smallstep Docs— step-ca documentation for certificate management
- IETF RFC 8555— ACME protocol specification (RFC 8555)
讨论
相关资产
CFSSL — PKI and TLS Certificate Toolkit by Cloudflare
CFSSL is a versatile toolkit for building and operating a private certificate authority, handling certificate signing, bundling, and TLS configuration scanning.
Intro.js — Step-by-Step User Onboarding and Feature Tours
Intro.js provides lightweight step-by-step guided tours and contextual hints to onboard users and highlight features in any web application.
Pomerium — Identity-Aware Zero Trust Access Proxy
Pomerium is an open source reverse proxy that provides secure, identity-aware access to internal applications without a VPN, implementing BeyondCorp-style zero trust networking with SSO integration.
XAgent — Autonomous AI Agent for Complex Task Solving
XAgent is an open-source autonomous agent framework that decomposes complex tasks into subtasks, plans execution strategies, and uses tool calling to complete multi-step workflows with minimal human intervention.