Skip to content

sign-ca · API 参考

sign-ca 不引入新的应用 API;对外接口直接是 fabric-ca v1.5.16 的 REST。详见 fabric-ca · API 参考。本章只汇总 sign-ca 暴露的端口与脚手架(Makefile / sign-ca-cli)。

端口

端口协议容器用途出处
7054HTTPsign-cafabric-ca RESTDockerfile:86docker-compose.yaml:30
9443HTTPsign-caoperations(/healthz 等)同上
8125UDPsign-caStatsD 上报(指向 127.0.0.1:8125Dockerfile:86conf/fabric-ca-server-config.yaml:272
9200gRPCsign-kmslibkms_pkcs11.so 连接docker-compose.yaml:14
9201HTTPsign-kmsWeb UIdocker-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行号命令
help17-31打印用法
check-env33-38检查 SIGN_KMS_IMAGE 非空
build40-47docker buildx build --load
build-multi49-57docker buildx build --platform --push
test-setup59-70起容器(条件分支见 核心流程 · docker-compose 两阶段启动
test-teardown72-74docker compose down
test-e2e78-80go test -tags=e2e -v -count=1 ./e2e/...
clean82-85docker compose down -v + docker rmi

变量(Makefile:7-15):

变量默认
IMAGE_URLsign-ca:latest
SIGN_KMS_IMAGE无默认(必填)
FABRIC_CA_REFv1.5.16
PLATFORMlinux/amd64,linux/arm64

sign-ca-cli

来源:cmd/sign-ca-cli/main.go:33-61commands/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 key

main.go:49-61 中的 usage 输出。

公共配置

来源:commands/doc.go:6-20

  • 默认 PKCS#11 库路径:/usr/local/lib/libkms_pkcs11.so
  • 所有子命令支持 --pkcs11-lib <path> 覆盖。
  • 必需 env:SIGN_KMS_ENDPOINTmain.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_URLhttp://localhost:7054
E2E_OPS_URLhttp://localhost:9443
E2E_CA_NAMEsign-ca
E2E_ADMINadmin
E2E_ADMIN_PASSadminpw

Go SDK

无 sign-ca 自有 SDK。应用使用 fabric-ca v1.5.16 Go SDK(github.com/hyperledger/fabric-ca/lib),与 sign-ca 容器以 HTTP/REST 通讯。