主题
sign-ca · 核心流程
只描述源码 / 配置文件可直接追溯到的流程。
1. Dockerfile 三阶段构建
来源:Dockerfile:7-93。
构建命令在 API 参考 中列出。
2. docker-compose 两阶段启动
来源:docker-compose.yaml:1-46、Makefile:59-70、README.md:59-90。
make test-setup 内部根据 KMS_PIN 是否为空走不同分支(Makefile:59-70):
docker-compose.yaml:41-42 中 ca 服务声明 depends_on: kms。
3. sign-ca-cli 离线工具的三个命令
来源:cmd/sign-ca-cli/main.go:33-37, 49-61。
USAGE(main.go:49-61):
| 子命令 | 描述 |
|---|---|
self-sign | self-signed root CA cert |
gen-csr | CSR signed by a KMS-resident key |
sign-csr | issue cert by signing a CSR with a KMS-resident key |
env:SIGN_KMS_ENDPOINT 必填(main.go:59-60)。默认 PKCS#11 库路径:/usr/local/lib/libkms_pkcs11.so,可由 --pkcs11-lib 覆盖(commands/doc.go:19-20)。
每个子命令的完整 flag 列表 [未核] —— 需读 commands/*.go。
4. e2e 10 个 scenario 执行顺序
来源:e2e/scenarios_test.go:28-39。
各子测的行号见 04-modules · e2e。子测之间共享全局 state(e2e_test.go:33-54)。
helpers_test.go 中的工具函数:
| 函数 | 行号 |
|---|---|
signECDSALowS | 37-48 |
genFabricCAToken | 50-69 |
doWithToken | 71-103 |
doWithAdminToken | 105-109 |
enrollWithBasicAuth | 111-188 |
每个 scenario 的请求 body 细节 [未核] —— 在 565 行的 scenarios_test.go 中。
5. 多 CA 部署 bootstrap 顺序
来源:deploy/multi-ca/docker-compose.yaml:1-26 注释。
pg-init 是 profiles: ["init"] 服务,不会自动随 up 启动(deploy/multi-ca/docker-compose.yaml:66)。
root/ 目录无 service,仅静态文件(详见 deploy/multi-ca/root/README.md,[未读])。