README中文
Varwof Core — PKI 基础设施
单个 Go 二进制文件的一体化 PKI 基础设施。用一个统一的系统替代 OpenSSL 封装、Python 服务和分散的工具链。
功能概览
- 完整的 PKI 层级:一条命令创建根 CA + 8 个业务子 CA
- ACME v2(RFC 8555):HTTP-01/DNS-01 验证、EAB、ARI 续期信息
- SCEP(RFC 8894):企业环境设备注册
- OCSP 响应器(RFC 6960):内存和磁盘后端缓存
- TSA(RFC 3161):时间戳权威机构,支持自动续期
- PKCS#7 签名:分离式、嵌入式、CAdES-T 时间戳
- 证书透明度:日志提交与 SCT 验证
- RBAC:简单/企业模式,按 CA 作用域划分,操作员证书绑定
- 注册机构:多方审批工作流
- LDAP 集成:从目录自动填充主体 DN
- 密钥托管/恢复:管理员 RSA 公钥加密
- 自动续期:一次性或守护进程模式
- 信任桥联邦:跨 CA 信任建立
- 远程 HSM 签名器:可插拔密钥后端
- 内存引擎:高吞吐量读写,异步批量持久化
- 合规报告:SOC 2、PCI DSS、NIST、ISO PDF 报告
- CP/CPS 生成:RFC 3647 格式
- Webhook/SMTP 通知:证书生命周期事件
- 配置热重载:SIGHUP 或轮询,原子处理程序切换
- Web UI:仪表板、证书管理、RA 工作流、拓扑视图
- Windows 服务:安装/卸载支持
- 国际化:中文和英文
快速开始
# Install
go install github.com/varwof/core/cmd/pki@latest
# Generate config
pki init-config > pki.json
# Initialize root CA
pki ca init --name "Root CA" --key-type ecdsa-p256 --validity 8760d \
--out-cert root/ca.pem --out-key root/ca.key
# Issue a certificate
pki issue --ca "Root CA" --cn server.example.com \
--san DNS:server.example.com --profile tls-server \
--out-dir certs/ --out-name server
# Start the server
pki serve --config pki.json
文档
| 文档 | 描述 |
|---|---|
| 快速开始 | 安装、第一个 CA、第一张证书 |
| 命令参考 | 完整的 CLI 命令参考 |
| 配置 | 所有配置选项 |
| 架构 | 系统设计和组件概览 |
| API 参考 | REST API 端点 |
| 部署 | 生产部署指南 |
| PKI 层级 | 设置完整的 PKI 层级 |
| PKI 架构 | PKI 子系统设计 |
| RBAC | 基于角色的访问控制模型 |
| 功能全面文档 | 功能特性详解 |
| RFC 已知偏差 | 与 RFC 的已知偏差清单 |
项目结构
core/
├── cmd/pki/ CLI 入口点 (main.go)
├── internal/
│ ├── ca/ CA 签发引擎
│ ├── serve/ HTTP API 服务器
│ ├── config.go 配置结构体
│ ├── acme/ ACME v2 (RFC 8555)
│ ├── ocsp/ OCSP 响应器 (RFC 6960)
│ ├── tsa/ TSA 时间戳 (RFC 3161)
│ ├── dns/ DNS 服务器 (ACME DNS-01)
│ ├── pkcs7/ PKCS#7 代码签名
│ ├── pkcs12/ PFX 导出
│ ├── notifier/ Webhook 通知
│ ├── provisioner/ 认证 (mTLS/Token/OIDC/Basic)
│ ├── routing/ 路由规则引擎
│ ├── i18n/ 国际化
│ ├── engine/ 内存引擎
│ ├── secrets/ CA 密钥密码解析
│ ├── capregistry/ 能力方案注册表
│ └── remotesigner/ HSM/远程签名器委托
├── auth/ RBAC 策略、策略签名
├── deploy/ 部署脚本
└── docs/ 文档
卫星项目
| 项目 | 描述 |
|---|---|
| varwof-gateway-{tcp,http,udp} | 三层安全网关 |
| varwof-protocols | EST/SCEP/CMP 协议 |
| pki-dns-server | DNS 服务器 |
| bridge-ldap | LDAP 桥接 |
| pki-pades | PAdES PDF 签名 |
| pki-deploy | 部署工具 |
| pki-webhook | Webhook 推送 |
| varwof-cli | CLI 管理工具 |
| user-signer | 远程签名服务 |
| pki-hsm-proxy | HSM 适配器 |
| console | Web 控制台 |
许可证
AGPL-3.0