主题
sign-ca · 概述
仓库目标
基于 Hyperledger Fabric CA 的 CA 服务镜像,集成 sign-kms 作为 PKCS#11 后端,CA 私钥托管于 HSM(Thales Luna / SoftHSM)。
——
README.md第 3 行
仓库构成
来源:README.md 第 5-15 行。
镜像由两个 build 阶段构建:
- fabric-ca builder:从 upstream
hyperledger/fabric-ca源码交叉编译fabric-ca-server(带pkcs11build tag)。 - sign-kms source:从
sign-kms镜像拷出/usr/lib/libkms_pkcs11.so。
运行时镜像(ubuntu:24.04)只包含:
/usr/local/bin/fabric-ca-server/usr/local/lib/libkms_pkcs11.so- apt 安装的动态依赖(
ca-certificates、curl、libgrpc++、libprotobuf、libprotobuf-c)
仓库基本事实
| 项 | 值 | 出处 |
|---|---|---|
| Module path | github.com/built-by-sign/sign-ca | go.mod:1 |
| Go 版本 | 1.25.1 | go.mod:3 |
| Go 文件总数 | 11(cmd/sign-ca-cli/ 8 + e2e/ 3) | — |
| 唯一 require 依赖 | github.com/miekg/pkcs11 v1.1.2 | go.mod:5 |
| 默认 fabric-ca 版本 | v1.5.16 | Dockerfile:47 |
| 默认构建平台 | linux/amd64,linux/arm64 | Makefile:12、README.md:41 |
| 运行时基镜像 | ubuntu:24.04 | Dockerfile:60 |
| 暴露端口 | 7054 9443 8125 | Dockerfile:86 |
| 默认 CMD | fabric-ca-server start --idemix.curve gurvy.Bn254 | Dockerfile:93 |
顶层结构
sign-ca/
├── README.md 136 行
├── Dockerfile 93 行(3 stage)
├── Makefile 85 行
├── docker-compose.yaml
├── go.mod / go.sum
├── .env-example
├── todo.md
├── conf/ fabric-ca 配置
├── kms-conf/ sign-kms 服务端配置
├── cmd/sign-ca-cli/ 离线工具(self-sign / gen-csr / sign-csr)
├── e2e/ 10 个 scenario 集成测试
├── deploy/multi-ca/ 多 CA 部署模板(kms + postgres + ca-bank1)
└── docs/ fabric-ca-server-guide.md、e2e-scenarios.md与生态的位置
sign-ca 在运行时与 sign-kms 通过 gRPC(容器内 kms:9200)通信;fabric-ca-server 通过 BCCSP 加载 libkms_pkcs11.so(路径 /usr/local/lib/,由 Dockerfile:78 拷入)。