一个用 Rust 编写的单文件命令行工具,用于查看、评级和管理证书及 TLS 连接,是 OpenSSL 命令行的简易替代。
smallstep/certificates
在线私有证书颁发机构与 ACME 服务器,用于签发 X.509 TLS 和 SSH 证书并自动续期。
- Star
- 8,983
- Fork
- 610
- 未关闭 Issue
- 308
- 最近提交
- 前天
这是什么?
step-ca 是一个在线证书颁发机构,用于搭建和运行你自己的私有 PKI。它可以签发短期有效的 X.509 证书,用于 HTTPS 服务端与客户端,也能为虚拟机、容器、API、数据库连接和 Kubernetes Pod 签发 TLS 证书,并为用户和主机签发 SSH 证书。
内置的 ACME 服务器支持 http-01、dns-01 和 tls-alpn-01 验证方式,certbot、Caddy、Traefik 等任何 ACMEv2 客户端都可以向它申请证书。证书请求通过 provisioner 进行授权,支持 OIDC 单点登录令牌、云实例身份文档、CD 工具签发的 JWK 令牌等方式。
项目面向常见 DevOps 场景,采用两层 PKI 结构,数据可存储在 Badger、BoltDB、Postgres 或 MySQL 中。它通常与独立的 step CLI 配合使用,用于生成密钥、续期证书和分发根证书。
核心功能
- 01使用 RSA、ECDSA 或 EdDSA 密钥签发 X.509 证书,有效期可配置。
- 02内置 ACME 服务器,支持 http-01、dns-01 和 tls-alpn-01 验证。
- 03提供 SSH 证书颁发,支持通过 OIDC 单点登录获取用户证书,也支持主机证书。
- 04通过 OIDC 令牌、云实例身份、JWK 令牌和 X5C 等 provisioner 进行签发授权。
- 05可作为现有根 CA 之下的在线中间 CA 运行。
- 06数据存储支持 Badger、BoltDB、Postgres 和 MySQL。
适用场景
- 为私有网络中的服务、容器和 Kubernetes Pod 签发内部 TLS 证书。
- 为开发和预发布环境搭建私有 ACME 服务器。
- 用绑定 SSO 身份的短期 SSH 证书替代共享的 authorized_keys 文件。
- 为 AWS、GCP 或 Azure 上的虚拟机自动续期主机证书。
快速上手
- 1
按照 README 中链接的官方安装指南操作
使用前须知
- README 称主动吊销(CRL、OCSP)仅见于商业产品,而非本开源版本。
- 它针对两层 PKI 进行了优化,README 未将多个证书颁发机构列为支持的功能。
收录于专题
标签
常见问题
- certificates 是什么?
- 在线私有证书颁发机构与 ACME 服务器,用于签发 X.509 TLS 和 SSH 证书并自动续期。 step-ca 是一个在线证书颁发机构,用于搭建和运行你自己的私有 PKI。它可以签发短期有效的 X.509 证书,用于 HTTPS 服务端与客户端,也能为虚拟机、容器、API、数据库连接和 Kubernetes Pod 签发 TLS 证书,并为用户和主机签发 SSH 证书。
- certificates 可以免费使用吗?用的什么许可证?
- certificates 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- certificates 还在维护吗?
- 活跃维护中。certificates 最近一次提交是在 2026年10月23日。
- certificates 适合用来做什么?
- 为私有网络中的服务、容器和 Kubernetes Pod 签发内部 TLS 证书。 为开发和预发布环境搭建私有 ACME 服务器。 用绑定 SSO 身份的短期 SSH 证书替代共享的 authorized_keys 文件。 为 AWS、GCP 或 Azure 上的虚拟机自动续期主机证书。
- certificates 怎么安装和运行?
- 按照 README 中链接的官方安装指南操作
- 在哪里获取 certificates?
- 源代码和安装说明在 GitHub 上:https://github.com/smallstep/certificates
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
自托管的 TLS 证书全生命周期管理平台,负责签发、续期、发现、清点并部署证书。
开源安全基础设施平台,统一管理密钥、证书、加密密钥、特权访问和 AI 智能体凭证。
OpenSSL 是通用的 TLS、DTLS 和 QUIC 协议工具包,内含完整的密码学库和 openssl 命令行工具。
一个小巧、可移植的 C 语言库,实现 X.509 证书处理及 TLS、DTLS 协议,适合嵌入式系统。
一款命令行工具,用于从服务器提取 TLS/SSL 证书,并导出为 PEM、DER 或信任库格式。