主题
sign-ca · API 参考
sign-ca 不引入新的应用 API;对外接口直接是 fabric-ca v1.5.16 的 REST。详见 fabric-ca · API 参考。本章只汇总 sign-ca 暴露的端口与脚手架(Makefile / sign-ca-cli)。
端口
| 端口 | 协议 | 容器 | 用途 | 出处 |
|---|---|---|---|---|
7054 | HTTP | sign-ca | fabric-ca REST | Dockerfile:86、docker-compose.yaml:30 |
9443 | HTTP | sign-ca | operations(/healthz 等) | 同上 |
8125 | UDP | sign-ca | StatsD 上报(指向 127.0.0.1:8125) | Dockerfile:86、conf/fabric-ca-server-config.yaml:272 |
9200 | gRPC | sign-kms | libkms_pkcs11.so 连接 | docker-compose.yaml:14 |
9201 | HTTP | sign-kms | Web UI | docker-compose.yaml:14 |
/healthz
由 Dockerfile:89-90 HEALTHCHECK 调用:
curl -f http://localhost:9443/healthz具体响应字段 [未核] —— 来自上游 fabric-ca v1.5.16。
fabric-ca REST 端点
完整列表见 fabric-ca · API 参考。sign-ca 不做改动。
Makefile 目标
来源:Makefile。
| target | 行号 | 命令 |
|---|---|---|
help | 17-31 | 打印用法 |
check-env | 33-38 | 检查 SIGN_KMS_IMAGE 非空 |
build | 40-47 | docker buildx build --load |
build-multi | 49-57 | docker buildx build --platform --push |
test-setup | 59-70 | 起容器(条件分支见 核心流程 · docker-compose 两阶段启动) |
test-teardown | 72-74 | docker compose down |
test-e2e | 78-80 | go test -tags=e2e -v -count=1 ./e2e/... |
clean | 82-85 | docker compose down -v + docker rmi |
变量(Makefile:7-15):
| 变量 | 默认 |
|---|---|
IMAGE_URL | sign-ca:latest |
SIGN_KMS_IMAGE | 无默认(必填) |
FABRIC_CA_REF | v1.5.16 |
PLATFORM | linux/amd64,linux/arm64 |
sign-ca-cli
来源:cmd/sign-ca-cli/main.go:33-61、commands/doc.go。
三个子命令
sign-ca-cli self-sign [flags] # self-signed root CA cert
sign-ca-cli gen-csr [flags] # CSR signed by a KMS-resident key
sign-ca-cli sign-csr [flags] # issue cert by signing a CSR with a KMS-resident keymain.go:49-61 中的 usage 输出。
公共配置
来源:commands/doc.go:6-20。
- 默认 PKCS#11 库路径:
/usr/local/lib/libkms_pkcs11.so。 - 所有子命令支持
--pkcs11-lib <path>覆盖。 - 必需 env:
SIGN_KMS_ENDPOINT(main.go:59-60)。
[未核]
每个子命令的完整 flag 列表(除 --pkcs11-lib)。需逐一阅读 commands/self_sign.go / commands/gen_csr.go / commands/sign_csr.go。
e2e 触发
来源:Makefile:78-80。
sh
make test-e2e
# 实际执行:go test -tags=e2e -v -count=1 ./e2e/...可覆盖的 env(e2e/e2e_test.go:56-69):
| 变量 | 默认值 |
|---|---|
E2E_CA_URL | http://localhost:7054 |
E2E_OPS_URL | http://localhost:9443 |
E2E_CA_NAME | sign-ca |
E2E_ADMIN | admin |
E2E_ADMIN_PASS | adminpw |
Go SDK
无 sign-ca 自有 SDK。应用使用 fabric-ca v1.5.16 Go SDK(github.com/hyperledger/fabric-ca/lib),与 sign-ca 容器以 HTTP/REST 通讯。