From 198574546b12ac5e84b78a2b4728d136feaf76ae Mon Sep 17 00:00:00 2001 From: XuqmGroup Date: Mon, 27 Jul 2026 10:42:59 +0800 Subject: [PATCH] feat(security): trust production config signer --- docs/IMPLEMENTATION_HANDOFF.md | 4 +++- packages/common/security/trusted-signing-keys.json | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/IMPLEMENTATION_HANDOFF.md b/docs/IMPLEMENTATION_HANDOFF.md index 9a66fde..5cd9fe7 100644 --- a/docs/IMPLEMENTATION_HANDOFF.md +++ b/docs/IMPLEMENTATION_HANDOFF.md @@ -71,7 +71,9 @@ 中的构建副本才固定命名为 `config.xuqmconfig`。 - Metro 只接受严格 `XUQM-CONFIG-V2`:使用内置 `keyId` 公钥先做 Ed25519 验签,再 解密并校验 canonical JSON、Schema、UUID、revision 和有效期。V1、未知 keyId 与 - 签名失败在构建期阻断。当前内置开发公钥为 `xuqm-config-dev-2026-07`,私钥未入仓。 + 签名失败在构建期阻断。当前同时信任开发公钥 + `xuqm-config-dev-2026-07` 与生产公钥 `xuqm-config-prod-2026-07`;私钥只保存在 + Jenkins 凭据库和服务端运行环境,不进入源码或制品。 - Release 每个模块始终生成独立 Source Map,删除 `sourcesContent` 并清理绝对路径。 `--bugcollect=disabled` 只归档不上传;启用时按完整 Bundle 身份上传,失败阻断发布。 上传契约固定为 `POST /bugcollect/v1/artifacts/upload` 且 diff --git a/packages/common/security/trusted-signing-keys.json b/packages/common/security/trusted-signing-keys.json index fcc5fed..0808f82 100644 --- a/packages/common/security/trusted-signing-keys.json +++ b/packages/common/security/trusted-signing-keys.json @@ -1,3 +1,4 @@ { - "xuqm-config-dev-2026-07": "Ft9MBN8jNwCfalex4wg7kuy2DRAbXkGxZyA/Jaz+6YA=" + "xuqm-config-dev-2026-07": "Ft9MBN8jNwCfalex4wg7kuy2DRAbXkGxZyA/Jaz+6YA=", + "xuqm-config-prod-2026-07": "Ticvc1Knc+AB1N/aI36yr2oRS52rk1A3qIuL3m/AAWM=" }