Reference. Implementation and current repository policy take precedence if this page differs.
WeCom 的每个企业都拥有独立的 RSA 私钥和从 publickey_ver=1 开始的版本序列。系统以 (tenant_id, publickey_ver) 唯一约束选择密钥,因此一个租户的版本号不会与另一个租户冲突,也不会跨租户取钥。
publickey_ver=1
(tenant_id, publickey_ver)
云托管使用 KEY_PROVIDER=kms_envelope。私钥 PEM 在写入 key_versions 前由现有的字段加密服务加密;数据库中保存的是 Fernet 信封,不是 PEM。读取时只在工作进程内存中解封并构造 RSA 对象,流程不会把明文写入磁盘、日志或异常消息。字段加密根密钥由部署环境的受控密钥管理机制提供,数据库读取权限本身不足以还原私钥。
KEY_PROVIDER=kms_envelope
key_versions
只有运行解密任务、且已解析到该租户和密钥版本的服务身份能够请求这份密钥。每次解密批次都会通过 append-only audit_logs 记录 tenant_id、publickey_ver 和操作类型;审计记录不含 PEM、解密内容或会话密钥。
audit_logs
tenant_id
publickey_ver
自托管默认 KEY_PROVIDER=local_file。客户自行保管 PEM 和主机访问控制;key_versions.private_key_path 必须保存目标租户、目标版本的本机 PEM 路径。未登记 KeyVersion 的租户会失败关闭;解密 runtime 不再回退到全局 WECOM_PRIVATE_KEY_PATH。
KEY_PROVIDER=local_file
key_versions.private_key_path
WECOM_PRIVATE_KEY_PATH
无论托管方式如何,密钥版本必须属于目标租户且处于 active 状态。密钥获取失败只返回通用错误,避免凭据出现在操作日志或终端输出中。
There was an error while loading. Please reload this page.
康冠时代会话存档 Wiki
首页
用户文档
自托管安装与升级 配置说明 常见问题 开始使用 · 产品功能 用户指南 · 企业微信接入 接入前准备 · 故障排查 价格与套餐 · 联系人头像
开发者文档
架构概览 API 参考 · 数据模型 部署参考 · 运维参考 贡献与本地开发 开发者专题 · 研究档案 设计档案 仓库文档全集索引 · 独立 QA 提示词
项目来时路
产品演化史 独立开发回忆 历史文档记录
项目公告
项目公告索引
版本记录
v1.1.0 GitHub Release v1.0.0 产品基线详细记录 · GitHub Release
源代码与 README · 架构决策记录