Expand description
杂凑算法与编码工具(供签名完整性校验使用)。
OFD 数字签名(见 GB/T 33190—2016 第 18 章)在 Signature.xml 中以
References/Reference/CheckValue 给出每个被保护文件的摘要值,摘要算法由
References@CheckMethod 指定。国内电子发票/版式文件普遍采用国密 SM3
(OID 1.2.156.10197.1.401),CheckValue 为 SM3 摘要的 Base64 文本。
为避免引入额外的密码学依赖,这里给出自包含的 SM3(GB/T 32905—2016)实现
与标准 Base64 编码,足以完成“重新计算摘要并与 CheckValue 比对”的完整性
校验。注意:本模块不实现对签名值(SignedValue.dat,SM2 签名)的密码学
验签,那需要证书解析与椭圆曲线运算,超出基础库范围。
Functions§
- base64_
encode - 将字节序列编码为标准 Base64 文本(含
=填充)。 - sm3
- 计算输入数据的 SM3 摘要,返回 32 字节结果。