| 场景类型 | 落地操作 | 合规验证点 |
|---|
| 金融类App企业内部分发 | 使用自建HSM集群生成SM2密钥对,通过CFCA API接口申请带OU=“com.bank.mobile”字段的代码签名证书;CI流水线调用apksigner sign --ks hsm://slot_1 --ks-pass pass:HSM_PIN --v2-signing-enabled true --v3-signing-enabled true app-release.aab | 分发平台扫描APK获取X-YD3646-Cert-Serial,调用CFCA OCSP服务实时校验证书吊销状态;校验v3签名块中digests[0].digest_alg_id=0x07(对应SM3) |
| 电信营业厅App多渠道打包 | 同一基础包使用不同渠道标识(如channel=cmcc、channel=cucc)生成独立APK,每个渠道包均用同一SM2私钥执行v2/v3签名,MANIFEST.MF中X-YD3646-Signature-Version字段值统一为“2020” | 自动化工具比对各渠道包v3签名块中signatures[0].signedData.certificates[0].tbsCertificate.subject.serialNumber是否一致,且与CFCA证书库中备案序列号匹配 |
| 政务类iOS App上架App Store | 在Xcode Signing & Capabilities中选择已导入的SM2兼容证书(由BJCA颁发),勾选“Hardened Runtime”并启用“Library Validation”;Archive后使用altool --notarize-app提交至Apple Notary Service | Notarization Report中确认“Code signature version: 500”且“Team ID”字段与BJCA证书Subject CN后缀一致;CodeResources中“yd3646-compliance”键值存在且为true |