SM2 前端整套链路在 Tauri 开发环境下验证全部通过。整条国密加密通信链路一共 11 项用例,11/11 全部 PASS。
执行命令:npm run tauri dev
执行脚本:scripts/verify-sm2-browser.mjs
| 序号 | 测试项目 | 结果 |
|---|---|---|
| 1 | SM3 哈希自测(标准向量 + 空字符串 + 长文本) | ✅ |
| 2 | SM4-GCM 加密/解密往返(随机密钥) | ✅ |
| 3 | SM2 密钥生成 + 签名/验签往返(标准向量) | ✅ |
| 4 | 密文篡改拦截校验 | ✅ |
| 5 | 10KB长文本(9.2K字符):加密 25.6ms / 解密 18.2ms | ✅ |
| 6 | 非法密钥自动拒绝 | ✅ |
| 7 | 空字符串加解密(边界处理) | ✅ |
| 8 | ECDSA-P256 与 SM2 签名互不混淆 | ✅ |
| 9 | 消息信封字段格式合规校验 | ✅ |
| 10 | 10组独立SM4密钥生成无冲突 | ✅ |
| 11 | 桥接全流程自测:密钥生成→签名→验签→加密→解密→ECDH协商 | ✅ |
sm2-ec-browser.js(底层椭圆运算,TVLA 5/5 通过) → sm3-browser.js → sm4-browser.js(AEAD认证加密) → sm2-bridge.js(桥接层七项接口封装) → message-gm.js(双棘轮 + SM2-SM4混合加密) → main.js(上层聊天业务、密钥管理、P2P直连模式)
sm2-ec-browser.js → sm3-browser.js → sm4-browser.js → sm2-bridge.js → message-gm.js → security-levels.js → main.js
共计 12 个密码学模块,加载顺序正常,无缺失、无脚本阻塞。
encryptWithSM2 与 decryptWithSM2 改为 encryptWithSM4 与 decryptWithSM4,SM2 仅用于 ECDH 密钥协商http://localhost:3002{"v":1,"k":"","c":"","iv":"","tag":""} npm audit:0 高危漏洞cargo fmt --check:代码格式合规cargo clippy:清理完毕,0 警告、0 错误cargo audit:仅网络原因待代理环境复测完整性能指标、高阶 TVLA 侧信道测试数据详见附件文档。