Skip to content

sign-kms · 术语表

仅保留源码 / README.md 中实证可定位的术语。

术语含义出处
access tokensign-kms 签发的 JWT。id = "at_" + 12 字符随机internal/biz/kms_manage_biz.go:254);DB(AccessToken 表)为权威源(internal/data/ent/schema/access_token.go:37-39
BCCSPFabric 客户端通过 libkms_pkcs11.so 接入;具体集成行为见 sign-ca / fabric-caREADME.md:5-16
DEFAULT_ADMIN_PWD首次启动管理员密码环境变量internal/data/init_user.go
DefaultExpiry / DefaultTokenExpiry / MaxTokenExpiry管理 cookie / KMS access token 过期常量,分别为 24h、365d、730dpkg/auth/config.go:55, 58, 60
DefaultPoolSize / MaxPoolSize / HealthCheckIntervalSessionPool 常量:5、30、30 秒pkg/pkcs11/session_pool.go:18-20
EntGo ORM 库,本项目用于 schema 定义与 DB 客户端代码生成go.modentgo.io/ent
HSMProviderconf.proto 中的 HSM 后端定义:id/name/type/library/enabled/pool_sizeinternal/conf/conf.proto:39-49
JTIJWT 标准字段,本项目作 AccessToken.id(DB 主键)pkg/auth/grpc_auth.go:62-74access_token.go:25
Keypair.idhex(sha256(0x04 ‖ X ‖ Y)),EC P-256 公钥未压缩点的 SHA-256。同时作为 HSM CKA_LABEL / CKA_IDinternal/data/ent/schema/keypair.go:18-23internal/biz/kms_biz.go:226-232
KratosGo 微服务框架,本项目用于 gRPC + HTTP lifecyclego.modgithub.com/go-kratos/kratos/v2
KMS_AUTH_SECRETJWT 签名密钥,未设置时 GetAuthSecret() panicpkg/auth/config.go:38, 44
libkms_pkcs11.soC 实现的 PKCS#11 库,源码在 p11client/kms_so.c;环境变量 SIGN_KMS_ENDPOINT:202)、KMS_SO_DEBUG:39p11client/
Namespace在 sign-kms DB 中代表一个 HSM partition,1:1 绑定 token_labelprovider_idinternal/data/ent/schema/namespace.go:18-51
NoAuthPathsHTTP 鉴权白名单。仅含 /api/v1/signinpkg/auth/config.go:11
PartitionIDJWT claims 中的字段,等于 Namespace.TokenLabel,决定签名落到哪个 HSM partitionpkg/auth/claims.go:11-22internal/biz/kms_manage_biz.go:270-279
PoolStatusHealthCheck 返回数据。字段:TokenLabelSlotIDReachableAvailableSessionsTotalSessionspkg/pkcs11/session_pool.go:44-50
ProviderInstance单个 HSM 后端运行时对象(IDNameTypeLibPathEnabledReadyPoolSizectxpoolsmupkg/pkcs11/registry.go:14-26
ProviderRegistry多 provider 管理对象。至少 1 个可用才能启动pkg/pkcs11/registry.go:60-92
RoleReadonly / RoleReadWrite / RoleAdmin三角色权限映射pkg/auth/claims.go:26-28, 42-46
roleOpsrole → 允许 operation 集合的 mappkg/auth/claims.go:42-46
session 池per-partition 预创建 PKCS#11 会话池;大小 5–30 可配pkg/pkcs11/session_pool.go
SIGN_KMS_ENDPOINTlibkms_pkcs11.so 连接 KMS gRPC 的地址p11client/kms_so.c:202
SignetSign 内部 OpenTelemetry SDK,本项目集成在 cmd/kms/main.go:96-102 与中间件链中cmd/kms/main.go:96-102
TokenStore.GetByJTIgRPC auth middleware 查 token DB 状态的接口(pkg/auth/grpc_auth.go:30-32);返回 TokenView{Disabled, Keys}pkg/auth/grpc_auth.go:19-32, 62-74
WireGoogle 编译期 DI 库,make wire 生成 wire_gen.goMakefile:51cmd/kms/wire.go