Skip to content

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(带 pkcs11 build 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-certificatescurllibgrpc++libprotobuflibprotobuf-c

仓库基本事实

出处
Module pathgithub.com/built-by-sign/sign-cago.mod:1
Go 版本1.25.1go.mod:3
Go 文件总数11(cmd/sign-ca-cli/ 8 + e2e/ 3)
唯一 require 依赖github.com/miekg/pkcs11 v1.1.2go.mod:5
默认 fabric-ca 版本v1.5.16Dockerfile:47
默认构建平台linux/amd64,linux/arm64Makefile:12README.md:41
运行时基镜像ubuntu:24.04Dockerfile:60
暴露端口7054 9443 8125Dockerfile:86
默认 CMDfabric-ca-server start --idemix.curve gurvy.Bn254Dockerfile: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 拷入)。

下一步

  • 架构 — 容器组件与端口
  • 快速开始 — 严格按 README 两阶段启动
  • 核心流程 — Dockerfile 三阶段 / docker-compose 两阶段启动 / sign-ca-cli 三件事
  • 配置.env / fabric-ca-server-config.yaml 关键字段实测值 / kms-conf/sign-ca.yaml