Skip to content

sign-kms · 概述

仓库基本事实

出处
Module pathgithub.com/built-by-sign/sign-kmsgo.mod
Go 版本1.25.1go.mod:3
Go 文件数88find 统计
C 源/头文件数6 .c + 5 .h(均在 p11client/find 统计
gRPC 端口0.0.0.0:9200README.md:60-62
HTTP 端口(管理 + Web UI)0.0.0.0:9201README.md:60-62

README.md 自述(架构段)

来源:README.md:5-16

  • FSC 节点:BCCSP PKCS#11 → libkms_pkcs11.so → gRPC(Bearer JWT)→ KMS 服务
  • KMS 服务再通过 PKCS#11 → HSM(SoftHSM / Luna S790)
  • BizHub CA 通过 gRPC(Bearer JWT)→ KMS 服务

关键三方依赖

来源:go.mod

依赖版本
entgo.io/entv0.14.5
github.com/go-kratos/kratos/v2v2.9.2
github.com/miekg/pkcs11v1.1.2
google.golang.org/grpcv1.80.0
golang.org/x/cryptov0.49.0
go.opentelemetry.io/oteltracemetricv1.43.0

顶层目录

来源:find + README。

sign-kms/
├── cmd/kms/                程序入口(Wire DI、Kratos 启动)
├── internal/
│   ├── conf/               配置 proto schema
│   ├── server/             gRPC + HTTP 服务注册
│   ├── service/            service 层(gRPC / HTTP 实现)
│   ├── biz/                业务逻辑
│   └── data/ + data/ent/   Repository + Ent ORM
├── pkg/
│   ├── pkcs11/             ProviderRegistry / SessionPool
│   ├── auth/               JWT claims + 中间件
│   ├── errors/             错误类型
│   └── audit/              审计
├── api/v1/                 *.proto(kms.proto + manage.proto)
├── p11client/              libkms_pkcs11.so 的 C 源码
├── web/                    React 19 + Vite 前端
├── conf/                   core.yaml 样例
├── docs/                   设计文档
├── scripts/                init-softhsm.sh
└── Makefile, Dockerfile, docker-compose.yaml

与其他包的位置

参考:sign-ca · 概述

下一步

  • 架构 — 组件 / Provider / SessionPool / 中间件
  • 快速开始init-softhsm.sh + make start
  • 核心流程 — Server 启动 / Token / Sign / 密钥生成
  • API 参考 — gRPC + HTTP + PKCS#11 C 接口
  • 配置core.yaml 字段与 .proto schema