GM/T 0131-2023 电子签章应用接口规范:国密签章互操作的标准接口

标准规范 · 2026-09-20

标准概述

GM/T 0131-2023《电子签章应用接口规范》于2023年发布,是国家密码管理局公布的国密标准系列之一。该标准与GM/T 0031-2025《安全电子签章密码技术规范》、GM/T 0047-2024《安全电子签章密码检测规范》共同构成了完整的电子签章标准体系。

电子签章是国家电子政务、企业数字化、金融交易等场景的核心基础设施。GM/T 0131-2023的核心价值在于统一接口——解决不同厂商签章系统之间的互操作性问题,避免厂商锁定(vendor lock-in)。

标准定位

标准编号定位核心内容
GM/T 0031-2025密码技术规范签章的密码算法要求、数据结构、签名验证逻辑
GM/T 0131-2023接口规范签章系统与应用系统的接口定义、服务调用协议
GM/T 0047-2024检测规范符合性的检测方法、测试用例、判定准则
三者关系:0031规定"做什么",0131规定"怎么调",0047规定"怎么验"。

核心接口设计

接口分层架构

GM/T 0131-2023将签章接口分为三层:

核心服务接口

#### 1. 签章服务(Seal Service)

接口名:createSeal()

输入参数:

  • documentId:文档唯一标识(UUID格式)
  • documentHash:SM3杂凑值(64位十六进制字符串)
  • sealInfo:签章信息(含签章人ID、签章位置、签章原因)
  • certChain:证书链(PEM格式,包含根证书到叶子证书)
  • timestampFlag:是否附加可信时间戳(布尔值)
输出结果:
  • sealBlob:签章二进制数据(Base64编码)
  • status:成功/失败状态码
  • errorMsg:错误描述(失败时)
国密实现要点:
  • 签章过程中必须使用SM2算法进行数字签名
  • 文档哈希必须使用SM3算法
  • 证书链验证需遵循GM/T 0015-2023证书格式规范
#### 2. 验签服务(Verify Service)

接口名:verifySeal()

输入参数:

  • sealBlob:签章数据(Base64编码)
  • documentHash:待验证的文档哈希(可选,如未提供则从签章中提取)
  • certChain:验证所需的证书链(可选)
  • ocspCheck:是否进行OCSP状态检查(布尔值)
输出结果:
  • isValid:签名是否有效(布尔值)
  • signerId:签章人标识
  • signTime:签名时间
  • certValid:证书是否在有效期内
  • certRevoked:证书是否被吊销
  • revocationReason:吊销原因(如被吊销)
安全注意:验签接口必须返回完整的验证链路信息,不能仅返回"有效/无效"的二元结果。这是密评检查的重点项。

#### 3. 证书状态服务(Certificate Status Service)

接口名:getCertStatus()

支持两种查询模式:

  • OCSP模式:实时查询,返回"正常/吊销/未知"
  • CRL模式:批量查询,返回吊销列表的更新时间
响应格式(JSON示例):
JSON
{
  "serialNumber": "0123456789ABCDEF",
  "issuer": "CN=国密根CA,O=某认证中心",
  "status": "revoked",
  "revocationTime": "2023-06-15T10:30:00+08:00",
  "revocationReason": "keyCompromise",
  "nextUpdate": "2023-07-01T00:00:00+08:00"
}

与相关标准的协同

与GM/T 0031-2025的关系

GM/T 0031-2025规定了电子签章的密码技术要求和数据结构。GM/T 0131-2023在此基础上定义了调用这些密码服务的接口。

关键对应关系:

  • 0031定义签章数据结构 → 0131定义如何传递签章数据
  • 0031定义SM2签名算法 → 0131定义调用SM2签名的接口参数
  • 0031定义可信时间戳要求 → 0131定义时间戳请求接口

与GM/T 0047-2024的关系

GM/T 0047-2024是电子签章密码检测规范,定义了如何检测签章系统是否符合要求。

检测项与接口的对应:

检测项对应接口
签章功能测试createSeal()
验签功能测试verifySeal()
证书状态查询测试getCertStatus()
接口安全测试所有接口(传输加密、身份认证)

与GM/T 0015-2023的关系

GM/T 0015-2023《数字证书格式》定义了国密证书的二进制格式。0131接口中传递的证书链必须遵循此格式规范。

常见陷阱:某些实现将X.509证书直接嵌入接口参数,但未遵循GM/T 0015-2023的国密证书扩展字段定义,导致跨系统互操作失败。

实际部署中的兼容性问题

问题一:接口版本兼容

GM/T 0131-2023是2023年新版标准,替代了之前的厂商自定义接口。但市场上大量存量系统仍使用旧版接口。

兼容性策略:

  • 新增接口支持0131-2023标准
  • 保留旧版接口作为过渡
  • 在接口层增加版本协商机制(通过apiVersion参数)

问题二:时间戳服务对接

GM/T 0131-2023要求签章必须附加可信时间戳。但时间戳服务可能来自不同厂商,接口实现存在差异。

解决方案:

  • 统一使用RFC 3161兼容的时间戳请求格式
  • 支持GM/T 0033-2023《时间戳接口规范》定义的国密时间戳服务
  • 在签章接口中封装时间戳获取逻辑,对上层透明

问题三:证书链完整性

部分实现仅在签章时返回叶子证书,未返回完整证书链。这会导致验签时无法完成信任链验证。

标准要求:签章服务应返回完整证书链(从叶子证书到根证书),或至少返回验证所需的全部中间证书。

密评关注点

根据GM/T 0054-2018和密评FAQ第四版,电子签章系统的密评检查要点包括:

1. 接口安全

  • 接口传输是否使用国密TLS(GM/T 0024)
  • 接口调用是否进行身份认证(双向证书认证)
  • 敏感参数(如私钥)是否通过安全信道传递

2. 密码算法合规

  • 签名算法是否为SM2WithSM3(OID: 1.2.156.10197.1.501)
  • 杂凑算法是否为SM3
  • 是否存在使用非国密算法的"混合模式"

3. 时间戳合规

  • 时间戳是否由具备资质的 TSA 签发
  • 时间戳格式是否符合GM/T 0033-2023
  • 时间戳验证是否独立于签章验证

4. 证书管理

  • 证书有效期是否符合GM/T 0015-2023要求
  • 吊销状态是否实时可查
  • 证书链验证是否完整

实施建议

1. 分阶段推进

2. 测试验证

建议建立以下测试用例:

  • 功能测试:验证签章、验签、证书查询等核心功能
  • 互操作测试:与不同厂商的签章系统进行接口对接
  • 性能测试:验证高并发场景下的接口响应时间
  • 安全测试:验证接口的安全属性和抗攻击能力

3. 监控运维

建立接口调用监控体系:

  • 接口调用成功率
  • 平均响应时间
  • 异常错误分类统计
  • 证书吊销状态变化告警

总结

GM/T 0131-2023《电子签章应用接口规范》是国密电子签章体系中的重要接口标准,其核心价值在于统一接口、促进互操作、避免厂商锁定。实施时需注意与GM/T 0031-2025、GM/T 0047-2024等相关标准的协同,以及存量系统的兼容性问题。

对于正在推进国密改造的组织,建议优先完成接口梳理和兼容性评估,制定分阶段迁移计划,确保电子签章系统的平滑升级。

相关实践

参考标准

  • GM/T 0131-2023《电子签章应用接口规范》
  • GM/T 0031-2025《安全电子签章密码技术规范》
  • GM/T 0047-2024《安全电子签章密码检测规范》
  • GM/T 0015-2023《数字证书格式》
  • GM/T 0054-2018《信息系统密码应用基本要求》
  • GM/T 0033-2023《时间戳接口规范》