GM/T 0131-2023 电子签章应用接口规范:国密改造的最后一公里

实践教程 · 2026-08-09 · 36 阅读
核心结论:GM/T 0131-2023 定义了电子签章系统的接口规范,是国密改造中容易被忽视但必须落地的环节。规范与 GM/T 0031(2025修订)配合使用,构成完整的电子签章密码应用体系。

一、背景:为什么需要这个规范?

1.1 现实场景

某政务系统完成国密改造后,密评现场发现扣分项:

CODE
【问题】电子签章模块使用 RSA 证书进行签名
【原因】开发团队直接调用 PDF SDK,未实现 SM2 签名接口
【整改】更换国密 PDF SDK,重新实现签章流程
【成本】约 3-5 周开发 + 密评复测费用

这个案例很典型:密码产品换了,应用层接口没改。

1.2 规范定位

标准定位内容
GM/T 0031-2025数据结构规范定义电子签章的数据格式(ASN.1)
GM/T 0131-2023接口规范定义系统间调用的接口(API)
GM/T 0047-2024检测规范定义如何检测是否符合要求
一句话:GM/T 0031 告诉你"签什么样的章",GM/T 0131 告诉你"怎么调用签 chap"。


二、核心接口概览

2.1 接口分类

规范定义了四类接口:

接口类型功能典型场景
签章接口生成电子签章合同签署、公文盖章
验签接口验证签章有效性文件验真、防篡改检查
时间戳接口绑定可信时间满足"签署时点"要求
证书查询接口获取证书链证书状态检查

2.2 接口数据流

CODE
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   应用系统   │────▶│  签章服务   │────▶│  密码机/卡  │
│  (PDF/OFD)  │◀────│  (中间件)   │◀────│  (国密设备) │
└─────────────┘     └─────────────┘     └─────────────┘
      │                    │                    │
      └────────────────────┴────────────────────┘
                    密码协议


三、接口实现要点

3.1 签章接口实现

输入参数:

  • 待签章文件(PDF/OFD 字节流)
  • 签章者 SM2 私钥(来自密码机)
  • 签章者 SM2 证书链
  • 签章位置(页面、坐标)
  • 可选:时间戳请求
输出结果:
  • 签章后的文件
  • 签章元数据(ASN.1 编码的 SES_Signature)
代码示例(伪代码):

3.2 验签接口实现

关键检查点:

  • 签名算法是否为 SM2WithSM3
  • 证书链是否完整(签名证书 + 中间证书 + 根证书)
  • 证书是否在有效期内
  • 证书是否被吊销(CRL/OCSP)
  • 时间戳是否有效(如要求)
验签流程:


四、常见实现陷阱

4.1 陷阱一:ASN.1 编码错误

错误做法:

PYTHON
# ❌ 错误:使用 JSON 存储签章数据
seal_data = {
    'algorithm': 'SM2WithSM3',
    'signature': 'xxx',
    'timestamp': 'yyy'
}

正确做法:

4.2 陷阱二:忽略证书吊销检查

密评要求:必须检查证书吊销状态。

实现建议:

4.3 陷阱三:时间戳服务未集成

问题:很多系统只实现了签章,未集成时间戳服务。

影响:无法证明"签署时点",在纠纷中处于劣势。

解决方案:


五、密评合规检查清单

5.1 算法合规

检查项要求常见问题
签名算法SM2WithSM3使用 RSA+SHA256
杂凑算法SM3使用 SHA-256
证书算法SM2使用 RSA 证书
时间戳算法SM3使用 SHA-256

5.2 接口合规

检查项要求常见问题
接口定义符合 GM/T 0131自定义 JSON 接口
数据结构ASN.1 DER 编码使用 XML/JSON
参数传递字节流使用 Base64 字符串

5.3 密钥管理合规

检查项要求常见问题
私钥存储密码机/密码卡软存储(文件/内存)
密钥生成密码机内部生成外部生成后导入
密钥备份加密备份明文备份

六、实施建议

6.1 分步实施路径

6.2 选型建议

维度建议理由
SDK 厂商优先选择通过国密认证的厂商降低合规风险
密码机选择支持 SM2/SM3 的型号基础要求
时间戳选择符合 GM/T 0033 的服务法律效力

6.3 成本控制

项目预算区间说明
国密 SDK5-20 万/年按调用量计费
密码机10-50 万一次性投入
时间戳服务1-5 万/年按次计费
开发成本3-5 人月含测试

七、总结

GM/T 0131-2023 是电子签章系统国密改造的"最后一公里"。实施要点:

  • 接口规范:使用 ASN.1 编码,不自定义 JSON/XML
  • 算法合规:强制使用 SM2WithSM3,不降级使用 RSA
  • 证书检查:必须实现吊销状态检查(OCSP/CRL)
  • 时间戳:建议集成,增强法律效力
  • 密钥管理:私钥必须存储在密码机内
一句话建议:选型时优先考虑通过国密认证的 SDK 和厂商,避免后期整改成本。


参考来源

  • GM/T 0131-2023《电子签章应用接口规范》
  • GM/T 0031-2025《安全电子签章密码技术规范》
  • GM/T 0047-2024《安全电子签章密码检测规范》
  • GM/T 0033-2023《时间戳接口规范》