GB/T 46999-2025 道路交通管控设施数字身份及认证通用规范
- 名 称:GB/T 46999-2025 道路交通管控设施数字身份及认证通用规范 - 下载地址2
- 下载地址:[下载地址2]
- 提 取 码:
- 浏览次数:3
发表评论
加入收藏夹
错误报告
目录| 新闻评论(共有 0 条评论) |
资料介绍
ICS 35.240 CCS R 85
中 华 人 民 共 和 国 国 家 标 准
GB/T 46999—2025
道路交通管控设施数字身份及认证
通用规范
Generalspecificationsfordigitalidentity and authentication of
road trafficmanagementand controlfacilities
2025-12-31发布 2026-07-01实施
国家市场监督管理总局国家标准化管理委员会
发
布
GB/T 46999—2025
目 次
前言 Ⅲ
1 范围 1
2 规范性引用文件 1
3 术语和定义 1
4 缩略语 1
5 数字身份标识编码 2
6 身份认证 2
6. 1 认证要求 2
6. 2 数字证书 2
6. 3 证书应用接 口 3
7 验证方法 3
7. 1 验证环境 3
7. 2 证书结构验证 3
7. 3 证书载体验证 3
7. 4 身份认证验证 3
7. 5 证书应用接口验证 4
附录 A (规范性) 数字身份标识编码规则 5
A. 1 编码原则及结构 5
A. 2 编码方法 5
附录 B (规范性) 数字证书结构 6
附录 C (规范性) 数字证书数据结构 7
C. 1 编码规则 7
C. 2 数据结构定义 7
C. 3 证书数据单元 7
附录 D (资料性) 硬件密码模块应用接 口 21
D. 1 接口定义 21
D. 2 时序 21
附录 E (规范性) 证书应用接 口 23
E. 1 通信接 口 23
E. 2 消息结构 23
附录 F (资料性) 身份认证和证书认证流程 30
F. 1 双向身份认证流程 30
F. 2 注册证书申请流程 31
Ⅰ
GB/T 46999—2025
F. 3 注册证书作废流程 31
F. 4 应用证书申请流程 32
F. 5 应用证书更新流程 33
F. 6 应用证书作废流程 33
F. 7 证书查询流程 33
参考文献 35
Ⅱ
GB/T 46999—2025
前 言
本文件按照 GB/T 1. 1—2020《标准化工作导则 第 1部分 :标准化文件的结构和起草规则》的规定起草 。
请注意本文件的某些内容可能涉及专利 。本文件的发布机构不承担识别专利的责任 。
本文件由中华人民共和国公安部提出 。
本文件由全国道路交通管理标准化技术委员会(SAC/TC576)归 口 。
本文件起草单位 :公安部交通管理科学研究所 、中国移动通信集团有限公司 、无锡市公安局 、无锡华通智能交通技术开发有限 公 司 、青 岛 海 信 网 络 科 技 股 份 有 限 公 司 、南 京 莱 斯 信 息 技 术 股 份 有 限 公 司 、安徽科力信息产业有限责任公司 、多伦科技股份有限公司 、杭州海康威视数字技术股份有限公司 。
本文件主要起草人 :何广进 、刘东波 、徐棱 、朱远建 、徐新东 、郑银香 、杨浩 、杨光 、鱼蕾 、陈晓明 、程建 、宋志洪 、陶刚 、俞雷 。
Ⅲ
GB/T 46999—2025
道路交通管控设施数字身份及认证
通用规范
1 范围
本文件规定了道路交通管控设施的数字身份标识编码和身份认证要求 ,描述了相应的验证方法 。
本文件适用于道路交通管控设施的数字身份设计和应用 。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款 。其中 , 注 日期的引用文件 ,仅该日期对应的版本适用于本文件 ;不注日期的引用文件 ,其最新版本(包括所有的修改单) 适用于本文件 。
GB/T 2260 中华人民共和国行政区划代码
GB/T 16262. 1 信息技术 抽象语法记法一(ASN. 1) 第 1部分 :基本记法规范
GB/T 25069 信息安全技术 术语
GB/T 31418 道路交通信号控制系统术语
GB/T 32918. 1—2016 信息安全技术 SM2椭圆曲线公钥密码算法 第 1部分 :总则
GB/T 37092 信息安全技术 密码模块安全要求
ISO/IEC 8825-7 信息技术 抽象语法记法一(ASN. 1) 编码规则 第 7 部分 :八位字节编码规则(OER) [Information technology—ASN. 1 encoding rules—Part 7: Specification of Octet Encoding Rules(OER)]
3 术语和定义
GB/T 25069、GB/T 31418和 GB/T 37092界定的以及下列术语和定义适用于本文件 。 3. 1
道路交通管控设施 road trafficmanagementand controlfacility
安装在道路上 ,用于交通控制 、交通信息采集与发布的设施 。
注 1: 包括道路交通信号控制机 、交通管控边缘计算终端等 。
注 2: 交通管控边缘计算终端指安装在路侧 ,配合其他交通管控设施完成交通信息汇聚 、处理的计算设备 。 3.2
道路交通管控设施数字身份 digitalidentity ofroad trafficcontroland managementfacility
在车联网环境中 ,关联道路交通管控设施属性信息 ,标识其唯一性的数字和字母组合 。
4 缩略语
下列缩略语适用于本文件 。
AID:应用标识(Application Identifier)
ASN. 1:抽象语法记法一(AbstractSyntax Nation1)
1
GB/T 46999—2025
CA:证书认证机构(Certificate Authority)
COER:正则八位字节编码规则(Canonical OctetEncoding Rules)
CRACA:证书撤销授权证书机构(Certificate Revocation Authorizing CA)
CRL:证书撤销列表(Certificate Revocation List)
HTTP:超文本传输协议(HyperTextTransferProtocol)
ID:身份标识(Identity)
SPI: 串行外设接 口 (SerialPeripheralInterface)
SSP:服务特定许可(Service Specific Permission)
SSTL:残余连续终结逻辑(Stub Series Termination Logic)
TAI: 国际原子时(InternationalAtomic Time)
TTL: 晶体管-晶体管逻辑(Transistor-Transistor Logic)
UTC:协调世界时(UniversalTime Coordinated)
5 数字身份标识编码
道路交通管控设施(以下简称 “管控设施 ”)数字身份应包含设施名称 、部署行政区划 、设施序号等属性信息 ,并用编码唯一标识 ,管控设施数字身份标识编码应符合附录 A 的规定 。
6 身份认证
6. 1 认证要求
身份认证内容应包括 :
a) 管控设施进行车路协同信息交互前 ,采用数字证书与信息交互对象进行双向身份鉴别 ;
b) 信息交互过程中对信息进行数字签名和验签 ;
c) 双向身份鉴别和信息验签过程中 ,对数字证书有效性进行验证 ,验证内容至少包括 CA 签名 、证书有效期和证书状态 。
6.2 数字证书
6.2. 1 证书分类
按照数字证书的用途分为 :
a) 注册证书 :用于应用证书的申请 、更新 、作废以及注册证书的作废 ;
b) 应用证书 :用于管控设施的数字身份认证鉴权和信息交互应用 ;
c) 注册 CA证书 :用于 CA签发注册证书 ;
d) 应用 CA证书 :用于 CA签发应用证书 。
6.2.2 证书结构
管控设施数字证书结构应符合附录 B 的规定 ,数据结构应符合附录 C 的规定 。
6.2.3 证书载体
6.2.3. 1 载体应采用灌封或有外壳的硬件密码模块形式 ,硬件密码模块应用接口见附录 D。
6.2.3.2 硬件密码模块应具备 SM2、SM3算法 。
6.2.3.3 硬件密码模块能存储数字证书的数量应大于或等于 30。
2
GB/T 46999—2025
6.3 证书应用接口
管控设施数字证书应用通信接口应符合附录 E 中 E. 1 的规定 ,公钥读取 、证书写入 、证书查询 、证书删除 、身份认证消息结构应符合 E. 2 的规定 ,证书申请 、更新 、作废流程见附录 F。
7 验证方法
7. 1 验证环境
验证应具备以下环境 :
a) 管控设施测试样品(简称测试样品)运行所需要的场地 、供电 、网络等 ;
b) 测试工具(测试终端 、数字证书存储介质等)及测试程序软件 ;
c) 测试用注册证书 、应用证书 、CRL和 CA证书文件 。
注 : 测试终端安装测试程序软件和数字证书 ,用于与测试样品进行信息交互 、文件传递 、证书签发 、结果显示等 。
7.2 证书结构验证
测试终端与测试样品建立网络连接后 ,测试终端按照 E. 2. 6. 1 规定调用身份认证请求 ,获取测试样品返回的身份认证响应 ,解析响应数据结构中的测试样品数字证书 ,确认数字证书结构是否符合 6. 2. 2的规定 。
7.3 证书载体验证
7.3. 1 载体形式
目视检查测试样品的数字证书载体物理结构形式 ,确认是否符合 6. 2. 3. 1 的规定 。
7.3.2 密码算法
审查硬件密码模块生产企业提供的产品技术规格说明书 ,确认硬件密码模块具备的密码算法是否符合 6. 2. 3. 2 的规定 。
7.3.3 证书存储数量
测试终端与测试样品联机 ,按照 E. 2. 5 规定调用证书写入接 口 , 向测试样品循环(至少 30次) 写入数字证书 ,按照 E. 2. 6规定调用证书查询接 口 ,查询测试样品已存储证书数量 ,确认已存储的证书数量是否符合 6. 2. 3. 3 的规定 。
7.4 身份认证验证
7.4. 1 双向身份认证
测试终端与测试样品建立网络连接后 ,测试终端按照 E. 2. 8规定调用身份认证接 口 ,分别使用有效的应用证书和无效的应用证书主动发起双向身份认证(双向身份认证流程见 F. 1) ,确认测试样品双向认证响应结果是否符合 6. 1a)的规定 。
7.4.2 信息签名和验签
测试终端和测试样品建立网络连接且双向身份认证通过后 ,测试终端接收测试样品发送的签名信息 ,验证信息的签名 ;测试终端按照 E. 2. 7 规定调用证书删除接 口 ,分别发送正确和错误的签名字段数据 。确认测试样品对信息的签名和签名信息的验证是否符合 6. 1b)的规定 。
3
GB/T 46999—2025
7.4.3 证书确认
测试终端与测试样品进行双向身份认证过程中 ,测试终端分别使用有效的应用证书 、CA 签名不 一致 、不在有效期范围 或 CRL列 表 中 的 应 用 证 书 , 确 认 测 试 样 品 对 证 书 的 验 证 确 认 是 否 符 合 6. 1c) 的规定 。
7.5 证书应用接口验证
测试终端连接测试样品 ,按照表 1 的规定通过测试程序软件模拟发送请求消息并验证响应消息 。
表 1 证书应用接口验证方法
序号
验证内容
验证方法
1
公钥读取
按照 E. 2. 4. 1 规定发送公钥读取请求消息 ,确认响应消息内容是否符合 E. 2. 4. 2 的规定
2
证书写入
按照 E. 2. 5. 1 规定发送证书写入请求消息 ,确认响应消息内容是否符合 E. 2. 5. 2 的规定
3
证书查询
按照 E. 2. 6. 1 规定发送证书查询请求消息 ,确认响应消息内容是否符合 E. 2. 6. 2 的规定
4
证书删除
按照 E. 2. 7. 1 规定发送证书删除请求消息 ,确认响应消息内容是否符合 E. 2. 7. 2 的规定
5
身份认证
按照 E. 2. 8. 1、E. 2. 8. 2 规定的请求 、应答消息进行身份认证 ,确认认证结果响应是否符合E. 2. 8. 3 的规定
4
GB/T 46999—2025
附 录 A
(规范性)
数字身份标识编码规则
A. 1 编码原则及结构
管控设施数字身份标识编码应符合图 A. 1 的规定 。
第一层(第 1位 ~第 6位)表示管控设施部署安装点位所处的行政区 。第二层(第 7位 ~第 8位)表示管控设施的种类 。第三层(第 9位 ~第 12位)表示管控设施在本行政区以及对应管控设施范围内的唯一编号 。
图 A. 1 管控设施数字身份标识编码
A.2 编码方法
第一层(第 1 位 ~ 第 6 位) :管控设施部署安装点位所处的行政区划编码 ,包含省 、市 、县级 , 6 位数字 ,取值应符合 GB/T 2260的规定 。
第二层(第 7 位 ~ 第 8 位) :管控设施的索引分类和名称编码 ,第 7 位标识管控设施索引分类 ,第 8位标识具体管控设施 ,代码应符合表 A. 1 的规定 。
第三层(第 9位 ~第 12位) :管控设施在本行政区以及对应具体管控设施范围内的唯一编号 ,用 自然数表示 。
表 A. 1 管控设施编码
序号
索引分类/代码
管控设施名称/代码
第二层(第 7位 ~第 8位)编码
1
信号控制/1
道路交通信号控制机/1
11
2
交通控制其他设施/9
19
3
边缘计算/3
交通管控边缘计算终端/1
31
4
交通管控边缘计算其他设施/9
39
5
其他交通管控设施/9
90
示例 :
320211110001表示设施部 署 点 位 位 于 江 苏 省 无 锡 市 滨 湖 区 , 设 施 属 于 信 号 控 制 类 中 道 路 交 通 信 号 控 制 机 , 编号 0001。
5
GB/T 46999—2025
附 录 B (规范性)
数字证书结构
表 B. 1规定了管控设施数字证书结构 。
表 B. 1 数字证书结构
序号
数据项名称/标识
是否必选
说明
1
版本/version
是
本文件对应版本号为 3
2
类型/type
是
本文件对应类型 为 显 式 证 书 ,数 据 结 构 应 符合 C. 3. 3
3
签发者/issure
是
签发此证书 的 CA 证 书 的 8 字 节 哈 希 值 , 数据结构应符合 C. 3. 5
4
签名数据/ toBeSigned
证书标识/id
是
注册证书标识用 自 然 数 唯 一 编 号 表 示 , 由 证书机构生成 ;应用 证 书 标 识 用 管 控 设 施 数 字身份 标 识 表 示 , 编 码 规 则 按 附 录 A 的 规定 ,数据结构应符合 C. 3. 10
5
CRACA标识/cracaid
是
CRACA标识的 3 字 节 哈 希 值 , 数 据 结 构 应符合 C. 3. 6
6
CRL序列号/crlSeries
是
数据结构应符合 C. 3. 13
7
有效期/validityPeriod
是
数据结构应符合 C. 3. 14
8
有效地理范围/region
否
数据结构应符合 C. 3. 17
9
保证级别/assuranceLevel
否
数据结构应符合 C. 3. 29
10
签名权限/appPermissions
是
适用于应用证书 ,描 述 应 用 证 书 的 数 据 签 名权限 ,数据结构应符合 C. 3. 30
11
CA证书权限/certIssuePermissions
否
适用 于 CA 证 书 , 描 述 CA 证 书 可 签 发 的 证书种类和权限范围 ,数据结构应符合 C. 3. 34
12
注册证书权限/certRequestPermissions
否
数据结构应符合 C. 3. 34
13
请求权限/canRequestRollover
否
是否能够请求同等权限的证书
14
加密公钥/encryptionKey
否
数据结构应符合 C. 3. 40
15
验证公钥/verifyKeyIndicator
是
数据结构应符合 C. 3. 44
16
签名值/signatureValue
是
签名数据的签名值 ,数据结构应符合 C. 3. 47
6
GB/T 46999—2025
附 录 C
(规范性)
数字证书数据结构
C. 1 编码规则
数字证书所有数据单元按 GB/T 16262. 1规定的 ASN. 1对数据结构进行描述 ,按 ISO/IEC 8825-7规定的正则八位字节编码规则进行编码 。
C.2 数据结构定义
下面的原子类型在数据结构定义中使用 :
Uint16 : : = INTEGER(0. . 65535) --(hex) ffff
Uint8 : : = INTEGER(0. . 255) --(hex) ff
Uint32 : : = INTEGER(0. . 4294967295) --(hex) ffffffff
C.3 证书数据单元
C.3. 1 Certificate
Certificate : : = CertificateBase(ExplicitCertificate| Reserved)
为 C(Sequ)e(e)rtif(nce)ic(O)at(f)e(C)Bas(erti)e(f)i结构(cate) :的: 据(S)E,它指示了数字(QUENCEOF)证(C)书(er)t的ifi有效(cate)字段组合 。
C.3.2 CertificateBase
version Uint8(3) ,
CertificateBase : : = SEQUENCE {
type CertificateType,
issuer IssuerIdentifier,
toBeSigned ToBeSignedCertificate,
signatureValue SignatureValue OPTIONAL }
此数据结构包含 。
— version:证书格式的版本号 ,此字段应设置为“3”。
— type:指示证书 是 显 式 的 或 其 他 的 。 对 于 显 式 证 书 , 此 字 段 应 设 置 为 explicit, 对 于 其 他 证书 ,此字段应设置为 reserved。本文件对应类型为显式证书 。
—issuer:证书的签发方 。
— toBeSigned:证书的内容 。对于显式证书 ,在生成或校验证书签名时 ,该字段是哈希函数的输入 ;对于其他证书类型中的隐式证书 ,在基于重构值生成或校验公钥时 ,该字段是哈希函数的输入 。该字段的编码细节见 C. 3. 9 ToBeSignedCertificate。
— signatureValue:包 含 在 ExplicitCertificate 中 。 它 由 issuer 字 段 中 标 识 的 签 名 者 在toBeSigned 的散列上计算的 签 名 。 哈 希 计 算 时 , 先 对 toBeSigned 字 段 进 行 COER 编 码 后 再计算 。
7
GB/T 46999—2025
C.3.3 CertificateType
explicit,
CertificateType : : = ENUMERATED {
reserved
. . .
}
此枚举类型指示是显式证书或其他类证书 。
C.3.4 ExplicitCertificate
type(explicit) ,
ExplicitCertificate : : = CertificateBase(WITH COMPONENTS { . . . ,
toBeSigned(WITH COMPONENTS { . . . ,
verifyKeyIndicator(WITH COMPONENTS {verificationKey} )
}) ,
signatureValue PRESENT })
此结构是 CertificateBase结构的数据 ,包含显式证书所需的所有字段 。
C.3.5 IssuerIdentifier
sha256AndDigest HashedId8,
IssuerIdentifier : : = CHOICE {
self HashAlgorithm ,
. . . ,
sha384AndDigest HashedId8,
sm3AndDigest HashedId8
}
证书的接收方通过这个字段来确定使用哪种密钥材料来验证证书 。在本文件中 ,应用 SM3算法 。如果指示的选项是 sha256AndDigest或 sha384AndDigest或 sm3AndDigest,则 :
— 此数据结构包含签发证书的 HashedId8,它使用证书的所有字段经哈希算法计算得到 ;
— 用于生成证书哈希值以进行验证的哈希算法包括 SM3(在 sm3AndDigest的情况下)等 ;
— 证书应使用所指示的签发证书的公钥进行验证 。
如果指示的选项是 self,则 :
— 此数据结构指示要使用哪种哈希算法生成证书的哈希值以进行验证 ;
— 证书将使用 ToBeSignedCertificate中包含的 verifyKeyIndicator字段所指示的公钥进行验证 。
C.3.6 HashedId3
HashedId3 : : = OCTET STRING(SIZE (3))
此数据结构包含另(SequenceOfHashe)dId一个(3)数:: 。a给定(shed)I数(d3)据结构的 HashedId3通过计算编码数据
结构的散列值 ,并获取散列输出的低位 3个字节来获得 。 当以网络字节顺序表示时 ,低位 3个字节是散列值的最后 3个字节 。
8
GB/T 46999—2025
用于计算给定数据结构的 HashedId3值的哈希算法取决于上下文 。在本文件中 ,对于包含 Hashe- dId3字段的每一个数据结构 ,均有相应的文字说明如何确定哈希算法 。
C.3.7 HashedId8
此数(Hash)据(ed)结(Id)构(8)包:: 另(O)一C哈(E))值) 。 给定数据结构的 HashedId8通过计算编码数据
结构的散列值 ,并获取散列输出的低位 8个字节来获得 。 当以网络字节顺序表示时 ,低位 8个字节是散列值的最后 8个字节 。
用于计算给定数据结构的 HashedId8值的哈希算法取决于上下文 。在本文件中 ,对于包含 Hashe- dId8字段的每一个数据结构 ,均有相应的文字说明如何确定哈希算法 。
C.3. 8 HashAlgorithm
sha256,
HashAlgorithm : : = ENUMERATED {
. . . ,
sha384,
sm3
}
此数据结构指示哈希算法 。
C.3.9 ToBeSignedCertificate
ToBid(eS)ignedCertificate : : = SECertif(QUEN)ica(C)te(E)Id({),
cracaId HashedId3,
crlSeries CrlSeries,
validityPeriod ValidityPeriod,
region GeographicRegion OPTIONAL,
assuranceLevel SubjectAssurance OPTIONAL,
appPermissions SequenceOfAidSsp OPTIONAL,
certIssuePermissions SequenceOfAidGroupPermissions OPTIONAL,
certRequestPermissions SequenceOfAidGroupPermissions OPTIONAL,
canRequestRollover NULL OPTIONAL,
encryptionKey PublicEncryptionKey OPTIONAL,
verifyKeyIndicator VerificationKeyIndicator,
. . .
}
(WITH COMPONENTS { . . . , appPermissions PRESENT} |
WITH COMPONENTS { . . . , certIssuePermissions PRESENT} |
WITH COMPONENTS { . . . , certRequestPermissions PRESENT})
ToBeSignedCertificate结构中的字段具有以下含义 。
—Id:包含在必要时识别证书持有者的信息 。
— cracaId:用于识别负责发布证书撤销列表(CRL) 的证书撤销授权 CA(CRACA) , 它的证书可
9
GB/T 46999—2025
能出 现 在 证 书 撤 销 列 表 (CRL) 上 。 HashedId3 使 用 全 证 书 哈 希 算 法 计 算 。 若 不 使 用cracald,将该字段设置为全零 。
— crlSeries:表示与证书可能出现的特定证书撤销授权 CA(CRACA)相关的 CRL系列 。
— validityPeriod:包含证书的有效期 。
— region:表示证书的有效区域 。
— assuranceLevel:表示证书持有者的保证级别 。
— appPermissions:表示证书持有者使用此证书签署应用程序数据的权限 。
— certIssuePermissions:表示证书持有者使用此证书签署其他证书的权限 。
— certRequestPermissions:表示证书持有者使用此证书签署证书请求的权限 。
— canRequestRollover:表示该证书可用于签署请求具有相同权限的另一个证书的请求消息 。
— encryptionKey:包含用于加密的公钥 ,证书持有者持有相应的私钥 。
— verifyKeyIndicator:包含可用 于 恢 复 公 钥 的 材 料 , 所 恢 复 的 公 钥 被 用 于 验 证 被 证 书 签 名的数据 。
C.3. 10 CertificateId
Certili(f)inkageD(cateId)a:t: CHOIL(CE)in{kageData,
name Hostname,
binaryId OCTET STRING(SIZE (1. . 64)) ,
none NULL,
. . .
}
此数据(Hostn)a结构(me):包:在必要时(UTF8St)r用in于(g)(识(SI)别(Z)持有(255)) 的信息 :
—linkageData:用于识别证书之注销 目的 ,如果该证书出现在链接证书 CRL 中 ;
— name:用于在非匿名证书的情况下标识证书持有者 ,它应是人类可读的 ;
—binaryId:支持非人类可读的标识符 ;
— none:表示证书不包含标识符 。
C.3. 11 LinkageData
iCert IValue,
LinkageData : : = SEQUENCE {
linkage-value LinkageValue,
group-linkage-value GroupLinkageValue OPTIONAL
}
il结(e):V:li:n:于链(TET)接(S)ID的(TRIN)C(G)R(L(S)I获(ZE)得(9的))信息相匹配的信息 ,以确定所包含的证书是否已
被撤销 。
C.3. 12 GroupLinkageValue
10
GroupLinkageValue : : = SEQUENCE {
GB/T 46999—2025
jValue OCTET STRING (SIZE(4)) ,
value OCTET STRING (SIZE(9))
}
此数据是群组链接值 。
C.3. 13 CrlSeries
此(C)r整lS形(er)i数(es)据::构标(U)in识(t1)在(6)特定 CRACA授权下发布的一 系列 CRL。若不使用 CrlSeries,将该字段设
置为零 。
C.3. 14 ValidityPeriod
ValidityPeriod : : = SEQUENCE {
start
Time32,
duration
Duration
}
此数据 类 型 给 出 证 书 的 有 效 期 。有 效 期 的 开 始 时 间 由 start指 定 , 结 束 时 间 由 start + duration决定 。
C.3. 15 Time32
此数据类型给出 自 2004年 1 月 1 日 00:00:00 UTC 以来的秒数(TAI) 。
Time32 : : = Uint32
C.3. 16 Duration
microseconds Uint16,
Duration : : = CHOICE {
milliseconds Uint16,
seconds Uint16,
minutes Uint16,
hours Uint16,
sixtyHours Uint16,
years Uint16
}
此数据类型表示证书的有效期 。 Uint16值是持续时间 ,单位由 CHOICE选项指示 ,其中单位 “一年 ”等于 31556952 s,这是一年中的平均秒数 。
C.3. 17 GeographicRegion
circularRegion CircularRegion,
GeographicRegion : : = CHOICE {
rectangularRegion SequenceOfRectangularRegion,
polygonalRegion PolygonalRegion,
identifiedRegion SequenceOfIdentifiedRegion,
. . .
}
11
GB/T 46999—2025
此数据类型表征特定形式的地理区域 。
— rectangularRegion:是包含至少一个 RectangularRegion数据结构条目的数组 。该字段表征 一系列矩形 ,它们可重叠或不相交 。被允许的区域是任意这些矩形内的任何点 。
— circularRegion或 polygonRegion:包含其各自类型的单个实例 。
—identifiedRegion:是包含至少一个IdentifiedRegion数据结构条目的数组 。被允许区域是任何这些已识别区域内的任何点 。
如果证书范围字段中指明的区域的任何部分位于其签发者范围内指示的区域之外 ,则证书无效 。
C.3. 18 CircularRegion
center TwoDLocation,
CircularRegion : : = SEQUENCE {
radius Uint16
}
此数据结构指定一个圆心在 Center、半径以米为单位 、与参考椭球相切的圆 。所示区域为参考椭球表面上的所有点,其与参考椭球中心点的距离小于或等于半径 。如果一个包含高程分量的点的水平投影落到参考椭球面上 ,则该点被视为在圆形区域内 。
C.3. 19 TwoDLocation
latitude Latitude,
TwoDLocation : : = SEQUENCE {
longitude Longitude }
此数据结构用于定义证书的有效使用区域 。
C.3.20 Latitude
NinetyDegreeInt : : = INTEGER {
Latitude : : = NinetyDegreeInt
min ( -900000000) ,
max ( 900000000) ,
unknown ( 900000001)
} ( -900000000. . 900000001)
--Minus90deg to +90degin . 1 microdegree intervals
KnownLatitude : : = NinetyDegreeInt(min. . max)
latit(Unk)u(n)de(ow)(纬度(nLat)i)t字段(ude)为:: 度(N)估ine计(ty)值(D)e,它(gr)e为整(eInt)数(u类(nk)型(n)o,精(wn)度) 为 1/10微度 。
纬度字段中的整数不超过 900 000 000且不小于 -900 000 000,一个例外是 900 000 001被用于指示发送方无法获得纬度信息 。
C.3.21 Longitude
min ( -1799999999) ,
O(L)n(o)eE(ng)ii(t)g(u)h(d)ty(e)D:e(:)reeI(O)n(n)t(e)E:ig:yIN(D)eTEGER(greeInt) {
12
GB/T 46999—2025
max ( 1800000000) ,
unknown (1800000001)
} ( -1799999999. . 1800000001)
longitude(经度)字段为经度估计值 ,它为整数类型 ,精度为 1/10微度 。
UnknownLo(KnownLong)ingitu(tude)d:e:=:: nOneE(eEigh)ightyD(tyDeg)e(r)g(ee)r(I)e(n)e(t)In(t(m)u(n).n.kn(m)o(a)n)
经度字段中的整数不超过 1800000000且不小于 -1799999999,一个例外是 1800000001被用于指示发送方无法获得经度信息 。
C.3.22 RectangularRegion
northWest southEast
TwoDLocation,
RectangularRegion : : = SEQUENCE {
TwoDLocation
}
此数据结构指(SequenceOfR)e示按顺(ctangu)l序连(arR)e接(g)io四(n)个::O:( n(R)o(e)r(c)t(t)hW(ang)e(u)s(l)t(a)l(r)atitude(Region), northWest. longitude) 、
(southEast.latitude, northWest. longitude) 、( southEast. latitude, southEast. longitude) 和 ( northWest. latitude,southEast.longitude) 。这些点通过恒定纬度或经度的线连接 。包含高程分量的点,只要它对参考椭球面的水平投 影 位 于 矩 形 内 , 则 认 为 该 点 在 矩 形 区 域 内 。 只 有 当 northWest所 指 示 的 点 位 于southEast点的西北方向时 ,RectangularRegion才有效 ,也即这两个点不能具有相等的纬度或相等的经度值 。
C.3.23 PolygonalRegion
此(Po)数ly据结(gona)l构使(Reg)i用(o)n在:参:定(IZ).一.系列(MAX)同(OF)的(T)地理点(woDL)o来(c)a定(t)io义(n)区域 。通过按照它们出现
的顺序连接点来指定区域 ,每对点由参考椭球上的测地线连接 。通过将最后一个点连接到第一个点完成多边形 。允许的区域是多边形的内部及其边界 。
如果包含高程分量的点在其参考椭球上的水平投影位于该区域内 ,则认为该点位于多边形区域中 。
有效的 PolygonalRegion包含至少三个点 。在有效的 PolygonalRegion中 ,构成多边形边的隐含线不相交 。
C.3.24 IdentifiedRegion
countryOnly CountryOnly,
IdentifiedRegion : : = CHOICE {
countryAndRegions CountryAndRegions,
countryAndSubregions CountryAndSubregions,
. . .
}
此数据类型使用(SequenceOfIden)区(t)ifi域标(edR)e识(g)i符(on)来:指:=示S。IdentifiedRegion
13
GB/T 46999—2025
C.3.25 CountryOnly
CountryOnly : : = Uint16
此数据是联合国统计司于 2013年 10月定义的国家或地区标识符的整数表示 。
C.3.26 CountryAndRegions
CountryAndRegions : : = SEQUENCE {
countryOnly CountryOnly,
regions SequenceOfUint8
}
此数据类型中 :
SequenceOfUint8 : : = SEQUENCE OF Uint8
—CountryOnly如上面定义的 CountryOnly;
—Region标识国家内的一个或多个区域 。
C.3.27 CountryAndSubregions
CountryAndSubregions : : = SEQUENCE {
country CountryOnly,
regionAndSubregions SequenceOfRegionAndSubregions }
此数据类型中 :
—Country如上面定义的 CountryOnly;
— regionAndSubregions标识国家内的一个或多个子区域 。
C.3.28 RegionAndSubregions
RegionAndSubregions: : = SEQUENCE {
region Uint8,
subregions SequenceOfUint16
}
SequenceOfUint16 : : = SEQUENCE OF Uint16
此数据类型中 :
SequenceOfRegionAndSubregions : : = SEQUENCE OF RegionAndSubregions
— region标识 CountryAndRegions中指定的国家/地区内的区域 ;
— 子区域标识 CountryAndRegions下指定的一个或多个子区域 。
C.3.29 SubjectAssurance
此字段包含证书持有者的保证级别 ,该级别指示平台和密钥存储的安全性以及对此评估的置信度 。
SubjectAssurance : : = OCTET STRING (SIZE(1))
此字段按表 C. 1 中的定义进行编码 ,其中“A”表示指定保证等级的位字段 ,“R”为保留位字段 ,“C”为置信度字段 。
14
GB/T 46999—2025
表 C. 1 保证级别的按位编码
比特位号
7
6
5
4
3
2
1
0
解释
A
A
A
R
R
R
C
C
在表 C. 1 中 , 比特位号(Bitnumber) 0 表示最低有效位 ; 比特位 7 到位 5 表示设备的保证级别 ; 比特位 4~ 比特位 2保留供将来使用 ; 比特位 1 和比特位 0 表示置信度 。
C.3.30 AidSsp
aid Aid,
AidSsp : : = SEQUENCE {
ssp ServiceSpecificPermissions OPTIONAL
}
此数据结构表示证书持有者对于用 AID标识的单个应用程序领域的数据所具有的权限 。本文件中管控设施注册证书 、应 用 证 书 的 aid取 值 3619(信 号 灯 类 应 用) 。 本 文 件 中 省 略 ServiceSpecificPer- missions字段 。
Seq(Aid)ue(:)n:O(I)fA(NT)idSsp(EGE)R: :(. . SEQU(MAX))ENCE OF AidSsp
注 : AidSsp 中 ServiceSpecificPermissions字段省略 ,为保持与 YD/T 3957—2021 中数字证书结构和 COER编码 一致 , 后 续 章 条 仅 给 出 ServiceSpecificPermissions 字 段 所 引 用 的 相 关 数 据 结 构 , 数 据 结 构 详 细 说 明 见YD/T 3957—2021。
C.3.31 Aid
此(A)i数(d)据:: 构指示所应( INTEGER)用(0的..领域(MAX)。) AID取值参阅 YD/T 4008— 2022。
C.3.32 ServiceSpecificPermissions
opaque OCTET STRING (SIZE(0. . MAX)) ,
ServiceSpecificPermissions : : = CHOICE {
. . . ,
bitmapSsp BitmapSsp }
此数据结构表示与 AidSsp 中的给定条目相关的 SSP。
C.3.33 BitmapSsp
此数据结构表示 SSP 的比特位图 。
BitmapSsp : : = OCTET STRING (SIZE(0. . 31))
C.3.34 AidGroupPermissions
subjectPermissions SubjectPermissions,
AidGroupPermissions : : = SEQUENCE {
minChainLength INTEGER DEFAULT 1,
15
GB/T 46999—2025
chainLengthRange INTEGER DEFAULT 0,
eeType EndEntityType DEFAULT {app}
}
此数据结构指(SequenceOfA)i示证(dG)ro书持有(upPer)is在(s)i发布(ons):和:求(SE)对(Q)应特定(UENC)A(E)ID(OF)集(A)合id的(G)r证书时所(oupPerm)i拥(ss)i有(o)n的(s)权限 。
C.3.35 SubjectPermissions
explicit SequenceOfAidSspRange,
SubjectPermissions : : = CHOICE {
all NULL,
. . .
}
此数据指示 AidGroupPermissions数据结构向哪些 AID和关联的 SSP授予证书签发或请求权限 。如果它的取值为 explicit(显式) ,则 AidGroupPermissions数据结构为指明的特定 AID 和 SSP Ranges授予证书签发或请求权限 ;如果此值为 all,则 AidGroupPermissions数据结构为同 一 certIssuePermis- sions或 certRequestPermissions字段中未由其他 AidGroupPermissions指 示 的 所 有 AID 授 予 证 书 签发或请求权限 。
C.3.36 EndEntityType
此(E)n数据(dE)n类(t)it型指示(yType) :哪:类 型 的 权(BITSTR)I限可(NG){能(a)p出(p)现(0, 最(e)n终(ro))证} 书(中(SIZ),其(E)(证(8)) 书) 过(E)包含此(XCEPT)值{ 的 }A)id-
GroupPermissions字段传递权限 。如果它指示的是 App,则最终实体证书可能包含 appPermissions字段 ;如果它指示的是 enroll,则最终实体证书可能包含 certRequestPermissions字段 。
C.3.37 AidSspRange
aid Aid,
AidSspRange : : = SEQUENCE {
sspRange SspRange OPTIONAL }
此数据结构表(SequenceOfA)i示证书(dSspR)a持有(nge)者::对(S)EQ一组U特定应(ENCE)用(O)程序(FA)i权限发(dSspR)a出证(nge)书或请求证书的权限 。这个数据结
构中包含 :
— aid:标识应用区域 ;
— sspRange:标识特定的 SSP, 它 们 与 证 书 持 有 者 可 签 发 或 请 求 证 书 的 AID 相 关 联 。 如 果 ss- pRange被省略 ,则持有者可为该 AID 的任何 SSP签发或请求证书 。
本文件中交 管 设 施 注 册 CA 证 书 、应 用 CA 证 书 的 aid取 值 3627(证 书 管 理) 、3628(证 书 撤 销 列表) 。本文件中省略 sspRange字段 。
注 : AidSspRange中 sspRange字段省略 ,为保持与 YD/T 3957—2021 中数字证书结构和 COER编码一致 ,后续章条仅给出 sspRange字段所引用的相关数据结构 ,数据结构详细说明参阅 YD/T 3957—2021。
C.3.38 SspRange
16
SspRange : : = CHOICE {
GB/T 46999—2025
opaque SequenceOfOctetString,
all NULL,
. . . ,
bitmapSspRange BitmapSspRange }
此数据结构标(SequenceOfO)c识(te)与持(tStr)i有(ng)者::发S书O的(F)AID相(OCTE)关(T)联的(STR)ISSP(NG)。
C.3.39 BitmapSspRange
sspValue OCTET STRING (SIZE(1. . 32)) ,
BitmapSspRange : : = SEQUENCE {
sspBitmask OCTET STRING (SIZE(1. . 32))
}
此数据结 构 为 SSP 的 位 图 表 示 , 其 中 sspValue 表 示 权 限 ; sspBitmask 包 含 一 个 八 位 字 节 字 符串 ,用于允许或约束被签发证书中的 sspValue字段 。sspValue和 sspBitmask字段的长度应相同 。
C.3.40 PublicEncryptionKey
supportedSymmAlg SymmAlgorithm ,
PublicEncryptionKey : : = SEQUENCE {
publicKey BasePublicEncryptionKey
}
此数据结构指定公钥和关联的对称加密算法 。
C.3.41 SymmAlgorithm
aes128Ccm ,
SymmAlgorithm : : = ENUMERATED {
. . . ,
sm4Ccm
}
此枚举值指示所支持的对称算法及其操作模式 。
C.3.42 BasePublicEncryptionKey
eciesNistP256 EccP256CurvePoint,
BasePublicEncryptionKey : : = CHOICE {
eciesBrainpoolP256rl EccP256CurvePoint,
. . . ,
eceneSm2 EccP256CurvePoint
}
此数据结构指示特定算法的加密公钥 。在本文件中 ,使用 SM2算法 。
C.3.43 EccP256CurvePoint
17
EccP256CurvePoint : : = CHOICE {
GB/T 46999—2025
x-only OCTET STRING (SIZE (32)) ,
fill NULL,-- consistency with 1363/ X9. 62
compressed-y-0 OCTET STRING (SIZE (32)) ,
compressed-y-1 OCTET STRING (SIZE (32)) ,
uncompressedP256SEQUENCE {
x OCTET STRING (SIZE (32)) ,
y OCTET STRING (SIZE (32))
}
}
此数据结构指示在 256位素数上定义的 Weierstrass形式的椭圆曲线上的点 。这包括 SM2等算法中定义的椭圆曲线点 。该结构中的字段使用 GB/T 32918. 1—2016 中 4. 2 所定义的椭圆曲线点编码和解码方法来产生的八位字节串 。对于 CHOICE 的所有值 , x坐标以网络字节顺序编码成长度为 32个八位字节的无符号整数;y坐标的编码取决于该点是仅 x,压缩还是未压缩 。如果该点是仅 x,则省略 y;如果该点被压缩 ,则类型的值取决于 y 的最低有效位 。如果 y 的最低有效位为 0,则类型取值为 com- pressed-y-0,如果 y 的最低有效位为 1,则类型取值 compressed-y-1;如果该点未压缩 ,则 y被明确编码为按网络字节顺序的长度为 32个八位字节的无符号整数 。
C.3.44 VerificationKeyIndicator
verificationKey PublicVerificationKey,
VerificationKeyIndicator : : = CHOICE {
reconstructionValuc EccP256CurvePoint,
. . .
}
此字段的内容取决于证书是隐式证书还是显式证书 :
— verificationKey出现在显式证书中 ,它包含用于验证证书持有者所生成数字签名的公钥 ;
— reconstructionValue出现在隐式证书中 ,它包含重构值 ,用于恢复隐式证书中指定的公钥 。
C.3.45 PublicVerificationKey
eodsaNistP256 EccP256CurvePoint,
PublicVerificationKey : : = CHOICE {
eodsaBrainpoolP256rl EccP256CurvePoint,
. . . ,
ecdsaBrainpoolP384r1 EccP384CurvePoint,
ecdsaNistP384 EccP384CurvePoint,
ecsigSm2 EccP256CurvePoint
}
此数据结构承载公钥 ,并指示使用该公钥的算法 。在本文件中 ,使用 SM2算法 。
C.3.46 EccP384CurvePoint
x-only OCTET STRING (SIZE (48)) ,
EccP384CurvePoint: : = CHOICE {
fill NULL, -- consistency w 1363/ X9. 62
compressed-y-0 OCTET STRING (SIZE (48)) ,
18
GB/T 46999—2025
compressed-y-1 OCTET STRING (SIZE (48)) ,
uncompressedP384SEQUENCE {
x OCTET STRING (SIZE (48)) ,
y OCTET STRING (SIZE (48))
}
}
此数据结构指示在 384位素数上定义的 Weierstrass形式的椭圆曲线上的点 。该结构中的字段使用 GB/T 32918. 1—2016 中 4. 2 中 所 定 义 的 椭 圆 曲 线 点 编 码 和 解 码 方 法 来 产 生 八 位 字 节 串 。 对 于CHOICE 的所有值 ,x坐标以网络字节顺序编码成长度为 48个八位字节的无符号整数 ; y 坐标的编码取决于该点是仅 x、压缩还是未压缩 。如果该点是仅 x,则省略 y;如果该点被压缩 ,则类型的值取决于 y的最低有效位 。如果 y 的最低有效位为 0,则类型取值为 compressed-y-0 ,如果 y 的最低有效位为 1,则类型取值 compressed-y-1;如果该点未压缩 ,则 y被明确编码为按网络字节顺序的长度为 48个八位字节的无符号整数 。
C.3.47 SignatureValue
SignatureValue: : = CHOICE {
ecdsaNistP256Signature EcdsaP256Signature,
ecdsaBrainpoolP256r1Signature EcdsaP256Signature,
. . . ,
ecdsaBrainpoolP384r1Signature EcdsaP384Signature,
ecdsaNistP384Signature EcdsaP384Signature,
sm2Signature EcsigP256Signature
}
此数据结构表征对应于一个公钥算法的签名 。在本文件中 ,使用 SM2算法 。
C.3.48 EcdsaP256Signature
EcdsaP256Signature : : = SEQUENCE {
rSig EccP256CurvePoint,
sSig OCTET STRING (SIZE (32)) }
此数据结构表示基于 256bit椭圆曲线的 ECDSA签名 。
如果对 此 数 据 结 构 编 码 是 为 了 进 行 哈 希 运 算 , 则 rSig 中 的 EccP256CurvePoint应 采 用 x-only格式 。
C.3.49 EcdsaP384Signature
EcdsaP384Signature : : = SEQUENCE {
rSig EccP384CurvePoint,
sSig OCTET STRING (SIZE (48)) }
此数据结构表示基于 384bit椭圆曲线的签名 。
如果对 此 数 据 结 构 编 码 是 为 了 进 行 哈 希 运 算 , 则 rSig 中 的 EccP384CurvePoint应 采 用 x-only格式 。
19
GB/T 46999—2025
C.3.50 EcsigP256Signature
rSig OCTET STRING (SIZE (32)) ,
EcsigP256Signature : : = SEQUENCE {
sSig OCTET STRING (SIZE (32))
}
此数据结构表示基于 256bit椭圆曲线 SM2算法的签名 。
20
GB/T 46999—2025
附 录 D
(资料性)
硬件密码模块应用接口
D. 1 接口定义
表 D. 1 给出了硬件密码模块接口及功能 。
表 D. 1 硬件密码模块接口及功能
序号
接口
信号
标识
功能描述
1
模块控制
外部复位
RESET
外部复位输入信号 。低电平有效 ,对密码模块进行整体复位
2
芯片唤醒
WAKEUP
芯片唤醒信号 。低电平或下 降 沿 有 效 , 用 于 触 发 密 码 模 块 唤 醒操作
3
工作状态
STATUS
状态输出信号 。密码模块正 常 工 作 状 态 情 况 下 ,该 信 号 为 低 电平 ;若发生异常情况 ,信号为高电平
4
数据通信
SPI接口片选
CS
从 SPI的片选输入信号 。低电平有效 ,集电极开路
5
SPI接口时钟
SCK
从 SPI的串行时 钟 输 入 信 号 。SPI工 作 方 式 采 用 Mode0, 时 钟极性(CPOL) 为 0, 空 闲 状 态 下 该 信 号 为 低 电 平 。 时 钟 相 位(CPHA)为 0,在时钟下降沿输出数据 , 时钟上升沿采样数据
6
SPI接口数据输入
MOSI
从 SPI的数据输入信号 。SPI采用 MSB(最高有效位在前)模式
7
SPI接口数据输出
MISO
从 SPI的数据输出信号 。SPI采用 MSB(最高有效位在前)模式
8
数据就绪
RDY_INT
外部中断输出信号 。下降沿 有 效 , 密 码 模 块 的 输 出 数 据 准 备 就绪时 ,通过该引脚通知上位控制电路接收数据
注 : 信号电平为 TTL 电平或 SSTL_3 电平 。
D.2 时序
D.2. 1 复位时序
图 D. 1 给出了 RESET 时序 。T0 大于 1 ms,T1 大于 1 ms。硬件密码模块复位后 ,在 T2 时间内完成自检 ,T2 小于或等于 3 s。硬件密码模块自检完成且工作正常情况下 ,STATUS输出低电平 。
图 D. 1 复位时序图
D.2.2 数据传输时序
图 D. 2 给出了数据传输信号时序 。CS下降沿为数据帧起始标志 ,CS引脚上升沿为数据帧传输结束标志 。传输过程 CS始终保持低电平 。RDY_INT 为低电平表示硬件密码模块应答数据准备就绪 。
21
GB/T 46999—2025
数据帧保护时间(BGT)大于或等于 10 μs,响应时间(ACKT)小于 100 ms。
图 D.2 数据传输信号时序图
D.2.3 超时休眠
图 D. 3 给出了休眠和唤醒信号时序 。SPI接口在空闲时间(TOS) 内无数据传输时 ,硬件密码模块自动进入休眠状 态 , TOS 时 间 大 于 60 s。 上 位 控 制 电 路 向 WAKEUP 发 送 下 降 沿 唤 醒 硬 件 密 码 模块 ,唤醒时间(WTSLEEP)小于 100 μs。
图 D.3 超时休眠和唤醒时序图
22
GB/T 46999—2025
附 录 E (规范性)
证书应用接口
E. 1 通信接口
应符合以下要求 。
a) 接口及请求类型: HTTP POST。
b) 接口传递参数 :
● HTTP Content-Type: application/octet-stream;
● HTTP requestbody与 HTTP response body中的消息结构符合 E.2规定。
E.2 消息结构
E.2. 1 编码规则
按 GB/T 16262. 1规定的 ASN. 1对消息结构及数据结构进行描述 ,按 ISO/IEC 8825-7规定的正则八位字节编码规则进行编码 。
E.2.2 请求消息结构
version Uint8(1) ,
MessageRequestFrame : : = SEQUENCE {
content CHOICE {
publicKeyGet PubKeyRequest,
certificationWrite CertWriteRequest,
certificationQuery CertInquiryRequest,
certificationDelete CertDeleteRequest,
identityAuthentication AuthenticationCertTransmit,
encryptedCiphertext EncryptedCiphertext,
. . .
}
}
此结构规定了 HTTP requestbody中的消息结构,消息结构内数据字段定义如下:
— version:请求消息结构的版本号 ,此字段应设置为“1”;
—publicKeyGet:公钥读取请求数据 ,数据结构应符合 E. 2. 4. 1规定 ;
— certificationWrite:证书写入请求数据 ,数据结构应符合 E. 2. 5. 1规定 ;
— certificationQuery:证书查询请求数据 ,数据结构应符合 E. 2. 6. 1规定 ;
— certificationDelete:证书删除请求数据 ,数据结构应符合 E. 2. 7. 1规定 ;
—identityAuthentication:身份认证请求数据 ,数据结构应符合 E. 2. 8. 1规定 ;
— encryptedCiphertext:认证密文请求数据 ,数据结构应符合 E. 2. 8. 2规定 。
E.2.3 响应消息结构
23
MessageResponseFrame : : = SEQUENCE {
GB/T 46999—2025
version Uint8(1) ,
content CHOICE {
publicKeyGet PubKeyResponse,
certificationWrite CertWriteResponse,
certificationQuery CertInquiryResponse,
certificationDelete CertDeleteResponse,
identityAuthentication AuthenticationCertTransmit,
encryptedCiphertext EncryptedCiphertext,
authenticationState AuthenticationStateResponse,
error ErrorResponse,
. . .
}
}
此结构规定了 HTTP response body中的消息结构,消息结构内数据字段定义如下:
— version:响应消息结构的版本号 ,此字段应设置为“1”;
—publicKeyGet:公钥读取响应数据 ,数据结构应符合 E. 2. 4. 2规定 ;
— certificationWrite:证书写入响应数据 ,数据结构应符合 E. 2. 5. 2规定 ;
— certificationQuery:证书查询响应数据 ,数据结构应符合 E. 2. 6. 2规定 ;
— certificationDelete:证书删除响应数据 ,数据结构应符合 E. 2. 7. 2规定 ;
—identityAuthentication:身份认证响应数据 ,数据结构应符合 E. 2. 8. 1规定 ;
— encryptedCiphertext:认证密文响应数据 ,数据结构应符合 E. 2. 8. 2规定 ;
— authenticationState:认证状态响应数据 ,数据结构应符合 E. 2. 8. 3规定 ;
— error:异常响应数据 ,数据结构应符合 E. 2. 9规定 。
E.2.4 公钥读取
E.2.4. 1 请求数据结构
PubKeyRequest : : = SEQUENCE {
certType CertApplyType,
pubKeyIndex Uint8,
. . .
}
此数据结构内字段定义如下 :
— certType:证书类型 ;
—pubKeyIndex:公钥索引 ,读取指定存储序号的公钥 ,该序号对应证书索引 。
E.2.4.2 响应数据结构
PubKeyResponse : : = SEQUENCE {
certType CertApplyType,
cryptoModuleId OCTET STRING (SIZE(13)) ,
verifyKeyInfo VerificationKeyIndicator(WITH COMPONENTS{verificationKey }) ,
signatureValue SignatureValue,
. . .
24
GB/T 46999—2025
}
此数据结构内字段定义如下 :
— certType:证书类型 ;
— cryptoModuleId:密码模块 ID;
— verifyKeyInfo:管控设施公钥 ,应符合 C. 3. 43规定 ;
— signatureValue:管控设施公钥对应私钥对 certType、cryptoModuleId、verifyKeyInfo数据块的签名值 ,应符合 C. 3. 47规定 。
E.2.5 证书写入
E.2.5. 1 请求数据结构
certType CertApplyType,
CertWriteRequest : : = SEQUENCE {
certIndex Uint8,
cert Certificate,
. . .
}
此数据结构内字段定义如下 :
— certType:证书类型 ;
— certIndex:证书索引 ,写入 CA证书操作为指定的存储序号 ,其他情况忽略 ;
— cert:管控设施证书或 CA证书 ,应符合 C. 3. 1规定 。
E.2.5.2 响应数据结构
certType CertApplyType,
CertWriteResponse : : = SEQUENCE {
certIndex Uint8,
. . .
}
此数据结构内字段定义如下 :
— certType:证书类型 ;
— certIndex:证书索引 ,对应类型证书存储序号 。
E.2.6 证书查询
E.2.6. 1 请求数据结构
certType CertApplyType,
CertInquiryRequest : : = SEQUENCE {
certIndex Uint8,
. . .
}
此数据结构包含以下字段 :
— certType:证书类型 ;
— certIndex:证书索引 。
25
GB/T 46999—2025
E.2.6.2 响应数据结构
certType CertApplyType,
CertInquiryResponse : : = SEQUENCE {
certIndex Uint8,
cert Certificate,
. . .
}
此数据结构包含以下字段 :
— certType:证书类型 ;
— certIndex:证书索引 ;
— cert:证书 。
E.2.7 证书删除
E.2.7. 1 请求数据结构
certType CertApplyType,
CertDeleteRequest : : = SEQUENCE {
certId CertificateId,
signatureValue SignatureValue,
. . .
}
此数据结构内字段定义如下 :
— certType:证书类型 ;
— certId:证书 ID;
— signatureValue:CA证书对 certID数据块的签名值 ,应符合 C. 3. 47规定 。
E.2.7.2 响应数据结构
certType CertApplyType,
CertDeleteResponse : : = SEQUENCE {
certId CertificateId,
signatureValue SignatureValue,
. . .
}
此数据结构内字段定义如下 :
— certType:证书类型 ;
— certId:证书 ID;
— signatureValue:设施注册证书对 certID数据块的签名值 ,应符合 C. 3. 47规定 。 E.2. 8 身份认证
E.2. 8. 1 身份认证请求和响应数据结构
cert Certificate,
AuthenticationCertTransmit : : = SEQUENCE {
26
GB/T 46999—2025
. . .
}
此数据结构包含以下字段 :
cert:数字证书 。
E.2. 8.2 认证密文请求和响应数据结构
EncryptedCiphertext : : = SEQUENCE {
encryptDatas SEQUENCE SIZE(0. . 2) OF EncryptedData,
. . .
}
此数据结构内字段定义如下 :
encryptDatas:用数字证书公钥加密的密文数据 。
E.2. 8.3 身份认证状态响应数据结构
AuthenticationStateResponse : : = SEQUENCE {
state AuthenticationState,
. . .
}
此数据结构包含以下字段 :
state:双向身份认证结果 。
E.2.9 异常响应
ErrorResponse : : = SEQUENCE {
errorState CertProcessErrorState,
. . .
}
此数据结构用于被请求方在数据结构无法解析 、证书无效 、签名验证错误 、操作错误等异常情况下的响应处理 ,数据结构内字段定义如下 :
errorState:错误或异常类型 。
E.2. 10 CertProcessErrorState
CertProcessErrorState : : = ENUMERATED{
messageStructureError,
certStorageUpperLimitError,
publicKeyMismatchingError,
certIndexOutOfRangeError,
certIndexEmptyError,
certTypeError,
certCaSignatureError,
certIssureError,
certOutOfValidityError,
27
GB/T 46999—2025
certIdMismatchingError,
messageSignatureVerificationError,
certRevokedError,
. . .
}
此数据结构内字段定义如下 :
— messageStructureError:消息数据结构无法解析 ;
— certStorageUpperLimitError:证书存储已达上限 ;
—publicKeyMismatchingError:公钥不匹配 ;
— certIndexOutOfRangeError:证书索引超出范围 ;
— certIndexEmptyError:索引证书为空 ;
— certTypeError:证书类型错误 ;
— certCaSignatureError:证书 CA签名错误 ;
— certIssureError:证书签发者无法验证 ;
— certOutOfValidityError:证书有效期验证错误 ;
— certIdMismatchingError:证书 ID不匹配 ;
— messageSignatureVerificationError:信息签名验证错误 ;
— certRevokedError:证书已撤销 。
E.2. 11 CertApplyType
CertApplyType : : = ENUMERATED{
registerCertType,
applicationCertType,
registerCaCertType,
applicationCaCertType,
. . .
}
此数据结构包含以下字段 :
— registerCertType:注册证书类型 ;
— applicationCertType:应用证书类型 ;
— registerCaCertType:注册 CA证书类型 ;
— applicationCaCertType:应用 CA证书类型 。
E.2. 12 EncryptedData
EncryptedData : : = SEQUENCE{
encryptData OCTET STRING (SIZE(98. . 200)) ,
. . .
}
此数据结构包含以下字段 :
encryptDate:公钥加密数据 。
28
GB/T 46999—2025
E.2. 13 AuthenticationState
AuthenticationState : : = ENUMERATED{
succeed,
failed,
. . .
}
此数据结构包含以下字段 :
— succeed:成功 ;
—failed:失败 。
29
GB/T 46999—2025
附 录 F
(资料性)
身份认证和证书认证流程
F. 1 双向身份认证流程
管控设施与注册终端双向身份认证流程如图 F. 1,步骤如下 :
a) 注册终端发起身份认证请求 ,请求消息中包含注册终端数字证书 ;
b) 管控设施响应身份认证请求 , 响应消息中包含管控设施数字证书 ;
c) 注册终端生成随机数 R1,使用管控设施公钥加密随机数 R1为密文 C1;
d) 注册终端发送 C1密文消息至管控设施 ;
e) 管控设施使用私钥解密密文 C1得到随机数 R1,生成随机数 R2,使用注册终端公钥分别加密随机数 R1、R2为得到密文 C2、C3;
f) 管控设施发送 C2、C3密文消息至注册终端 ;
g) 注册终端使用私钥解密密文 C2得到 R1', 比较 R1与 R1',相同则注 册 终 端 验 证 管 控 设 施 成功 ,不同则验证失败 ;
h) 注册终端使用私钥解密密文 C3得到随机数 R2,并使用设施公钥加密 R2为密文 C4;
i) 注册终端发送 C4密文消息至管控设施 ;
j) 管控设施使用私钥解密密文 C4得到 , 比较 R2与 R2',相同则管控设施验证注册终端成功 ,不同则验证失败 ;
k) 管控设施发送身份认证状态消息至注册终端 。
注 : 注册终端用于设施与证书机构之间进行证书申请信息 、证书文件等的传递 。
图 F. 1 管控设施与注册终端双向身份认证流程
30
GB/T 46999—2025
F.2 注册证书申请流程
注册证书申请流程如图 F. 2,步骤如下 :
a) 注册终端录入管控设施类型信息 ;
b) 注册终端发送公钥读取请求消息至管控设施 ;
c) 管控设施调用硬件密码模块生成公私密钥对 ,发送公钥读取响应消息至注册终端 ;
d) 注册终端向证书机构提交证书申请信息 ;
e) 证书机构签发注册证书 ,注册终端下载注册证书及注册 CA证书 ;
f) 注册终端发送注册证书写入请求消息至管控设施 ;<
相关推荐
- GB/T 1591-2018 低合金高强度结构钢
- GB/T 32595-2016 铁道客车及动车组用电气控制柜
- GB/T 17880.4-1999 120°小沉头铆螺母
- GB/T 15558.3-2023 燃气用埋地聚乙烯(PE)管道系统 第3部分:管件
- GB/T 14503-1993 放射性同位素产品的分类和命名原则
- GB/T 20334-2006 G系列和Rp系列管螺纹磨牙丝锥的螺纹尺寸公差
- GB/T 42677-2023 钢管无损检测 无缝和焊接钢管表面缺欠的液体渗透检测
- GB/T 20111.4-2017 电气绝缘系统 热评定规程 第4部分:评定和分级电气绝缘系统试验方法的选用导则
- GB/T 5099.3-2017 钢质无缝气瓶 第3部分:正火处理的钢瓶
- GB∕T 40339-2021 金属和合金的腐蚀 服役中检出的应力腐蚀裂纹的重要性评估导则

