主题
sign-pki · 概述
项目定位
sign-pki 是基于 Hyperledger Fabric CA 的 PKI 工具集。它把在线 CA 服务与离线 CA 仪式拆成两个独立发布物,并通过 sign-kms 的 PKCS#11 Client 将 Root / Intermediate CA 私钥留在 KMS/HSM 中。
| 发布物 | 目录 | 职责 |
|---|---|---|
| CA Server 镜像 | sign-pki/ca-server/ | 构建带 pkcs11 tag 的 fabric-ca-server,并携带 libkms_pkcs11.so |
| PKI CLI | sign-pki/pki-cli/ | Root 自签、Intermediate CSR/签发、公开材料检查与 CA Bundle 生成/验证 |
这两个发布物必须保持分离:在线 ca-server 不包含根 CA 仪式工具,pki-cli 也不提供在线 Register、Enroll、Reenroll、Revoke 或 Idemix 服务。
当前代码基线
| 项 | 当前值 | 代码依据 |
|---|---|---|
| 仓库 | github.com/Built-by-Sign/sign-pki | .gitmodules、sign-pki/README.md |
| pki-cli module | github.com/built-by-sign/sign-pki/pki-cli | sign-pki/pki-cli/go.mod |
| Fabric CA | v1.5.22 | sign-pki/Makefile、ca-server/Dockerfile |
| CA Server 基础镜像 | ubuntu:24.04 | ca-server/Dockerfile |
| PKCS#11 库 | /usr/local/lib/libkms_pkcs11.so | 两个 Dockerfile 与生产配置模板 |
| KMS Endpoint | SIGN_KMS_ENDPOINT 或 CLI --kms-endpoint | pki-cli/commands/support.go |
| 支持平台 | linux/amd64,linux/arm64 | sign-pki/Makefile |
信任模型
规范来源是 sign-pki/docs/pki-architecture-standard.md。核心边界如下:
- Identity Root 与 TLS Root 是不同的离线根。
- 央行和每家银行分别持有本组织的 Identity / TLS Intermediate CA。
- Wallet Idemix CA 由央行运营;它的 X.509 运行 signer 与 Idemix Issuer/Revocation Key 是两套不同密钥。
- PKI 信任只证明身份链;银行加入 Fabric-X 网络仍需独立的联盟配置与策略审批。
- Root / Intermediate CA Key 必须在 HSM 中生成并保持不可导出。
名称说明
项目与源码目录已更名为 sign-pki。代码中仍存在的 sign-ca 通常是兼容性的运行标识,例如默认 CA Server 镜像标签 sign-ca:latest、本地 CA 名称或既有部署服务名;文档会按实际配置保留这些标识,不把它们误写成仓库名称。