交通一卡通二维码支付技术要求
本技术要求规定了交通一卡通二维码(以下简称“二维码”)支付的应用场景、系统框架及流程、二维码数据结构、信息接口、安全要求、终端要求、手机客户端要求等。
本技术要求适用于交通行业二维码支付的相关系统、终端、手机客户端的设计与研发。
GM/T 0002 SM4分组密码算法
GM/T 0003 SM2椭圆曲线公钥密码算法
JT/T 978.4-2015 城市公共交通IC卡技术规范 第4部分:信息接口
JT/T 978.6-2015 城市公共交通IC卡技术规范 第6部分:安全
支持生成交通一卡通互联互通二维码、认证用户身份、控制二维码生成与交易风险等功能,确保二维码及支付安全性的平台。
发行城市公共交通卡,并对清分结算的跨机构交易数据进行验证的机构。
布放交通一卡通二维码终端,为交通一卡通二维码提供扫码、资金结算服务,并对清分结算的跨机构交易数据进行收集、上送的机构。
指安装在手机上的应用,用来生成二维码的应用软件。
指可以识别和受理本要求中二维码的终端设备。
非对称密钥中的公钥和私钥。
非对称密钥对中公开的密钥。
非对称密钥对中非公开的密钥。
下列符号和缩略语适用于本文件。
符号 |
定义 |
SM2 |
国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。 |
https |
是以安全为目标的HTTP通道 |
Cn |
压缩数字码,即BCD码 |
B |
用于表示变长的二进制数,后跟数字表示二进制数据所占字节(Byte)的个数 |
n |
数值,0~9,靠右,首位有效数字前填0.若表示人民币金额,则最右侧两位为角、分 |
MM |
月份,01~12 |
DD |
日期,01~31 |
YY |
年份,00~99 |
hh |
时,00~23 |
mm |
分,00~59 |
ss |
秒,00~59 |
M |
必用数据元,如此域没内容,信息出错 |
C |
可选数据元 |
ans |
字母、数字和特殊字符,靠左,右边多余位填空格。 |
an |
字母和数字字符,靠左,右边多余位填空格 |
二维码是一种通过特定的编码格式来展示信息的方式,本技术要求主要规定了二维码在交通行业中公交、地铁的应用场景。用户是采用被扫模式即用户手机客户端生成进出站二维码,由受理终端进行扫码。
交通一卡通二维码支付系统结构如图1所示。
图1 交通一卡通二维码支付系统结构图
交通一卡通二维码支付系统结构中涉众如下:
交通一卡通二维码支付工作流程如图2所示。
图2 交通一卡通二维码支付工作流程图
交通一卡通二维码支付工作流程中重点流程说明如下:
a.参与交通一卡通二维码支付的发卡机构CA管理系统需要定时向清分结算机构CA管理系统申请签发交通行业二维码支付互联互通的机构证书;
b.清分结算机构的CA管理系统应将根公钥下发到收单机构,收单机构负责将中心公钥下发到所有受理终端;
d.二维码发码平台负责结合账户的信用等级、风险等级等综合因素决定用户可进行预付费交易或信用支付交易,同时,该系统应根据用户账户信息、二维码有效期等因素生成二维码数据;
e.用户持二维码进行扫码时,受理终端应验证二维码的真实性、有效性、完整性,成功识别二维码后将该信息记录并准实时发送至系统后台;
f. 交易计费系统接收到终端上传的交易数据后,将进出站记录进行匹配,并计算交易金额,最终将统计好的交易数据上传至清分结算机构;
g.清分结算机构的清分结算系统将交易数据转发至账户发行方,并对跨区域交易数据进行清分结算;
h.发卡机构清分结算系统根据用户消费情况向发码平台进行请款,并完成支付结算。
交通一卡通二维码支付交易流程如图3~5所示。
图3 申请交通一卡通二维码流程图
图4 受理终端识别二维码验证流程图
图5 跨区域交易清分结算流程图
交通一卡通二维码需要使用二级密钥进行保护,包括:发卡机构级和发码平台用户级,工作原理如图所示,其中:
注1:使用发卡机构私钥对二维码数据进行签名形成二维码发卡机构授权数据签名;
注2:使用发码平台用户私钥对二维码数据以及二维码发卡机构授权签名数据进行签名形成发码平台用户签名。
图6 交通一卡通二维码数据安全结构图
受理终端验证二维码的合法性流程如图7所示,其中:
图7 交通一卡通二维码终端验签流程图
符合《QRCode国家标准GB/T 18284-2000》规范,采用二进制(8bit-byte)编码方式。
交通一卡通二维码结构如图8所示。
图8 交通一卡通二维码结构图
交通一卡通二维码数据结构定义见表1。
表1 交通一卡通二维码数据结构表
序号 |
字段名 |
字节 长度 |
描述 |
格式 |
是否 必填 |
1 |
二维码版本 |
1 |
二维码结构版本号。 0x80~0xFF 交通一卡通二维码标准版本,当前0x80 |
B |
M |
2 |
二维码类型 |
2 |
定义二维码的类型:
|
Cn4 |
M |
3 |
发码方式 |
1 |
定义发码的方式:
|
B |
M |
4 |
发卡机构证书编号 |
4 |
发卡机构证书编号,编号在发卡机构向清分结算机构申请证书时分配,发卡机构可申请多份证书,证书编号发卡机构不可随意改动。 |
B |
M |
5 |
发卡机构授权数据长度 |
2 |
发卡机构数据长度。 |
B |
M |
6 |
支付账户号 |
16 |
由支付账户系统自定义。 |
ans |
M |
7 |
发卡机构号 |
4 |
由清分结算机构统一分配。 |
B |
M |
8 |
发码平台编号 |
4 |
由清分结算机构统一分配。 |
B |
M |
9 |
交通一卡通卡号 |
10 |
同JT/T 978中卡号的要求 |
B |
M |
10 |
卡类型 |
1 |
见JT/T 978.2中表A.1中发卡机构特殊数据元第20字节卡种类型。 |
B |
M |
11 |
单次消费金额上限 |
3 |
二维码支付单次消费金额上限,由支付账户系统根据当前用户消费状态进行授权。 |
n |
M |
12 |
批次号 |
3 |
表示针对当前用户联机下发一组二维码数据的批次。 |
B |
M |
13 |
支付账户用户公钥 |
33 |
经过压缩的支付账户系统中用户公钥数据,压缩方法见GM/T 0003.1中A.5。 |
B |
M |
14 |
支付账户系统授权过期时间 |
4 |
支付账户系统授权过期时间 |
B |
M |
15 |
二维码有效时间 |
2 |
二维码有效时间,与二维码生成时间一起控制二维码有效时间。以秒为单位,此域在填写时无需带单位。 |
B |
M |
16 |
发卡机构授权签名 |
65 |
发卡机构私钥签名,签名数据包括:本表中5~17字段。 |
B |
M |
17 |
用户授权数据长度 |
2 |
用户授权数据长度 |
B |
M |
18 |
二维码生成时间 |
4 |
二维码生成时间戳 |
B |
M |
19 |
支付账户用户私钥签名 |
65 |
支付账户用户私钥签名数据,此签名是对二维码数据体进行签名。 |
B |
M |
总计长度为226字节。
使用SM2算法的签名数据内容见表2。
表2 数据签名
字段名 |
长度 |
描述 |
格式 |
是否 必填 |
签名的数据格式 |
1 |
十六进制,值为‘15’ |
B |
M |
数字签名 |
64 |
二维码中数据计算的SM2签名r||s |
B |
M |
发卡机构公钥数据是发卡机构提供的本机构公钥数据,见表3。
表3 发卡机构公钥数据
字段名 |
长度 |
描述 |
格式 |
是否 必填 |
证书格式 |
1 |
十六进制,值为‘14’ |
b |
M |
证书失效日期 |
2 |
MMYY,在此日期后,这张证书无效 |
n4 |
M |
证书序列号 |
3 |
由发卡机构分配给这张证书的唯一的二进制数 |
b |
M |
二维码公钥签名算法标识 |
1 |
标识使用在二维码公钥上的数字签名算法。SM2算法为‘04’。 |
b |
M |
二维码公钥加密算法标识 |
1 |
标识二维码公钥对应的加密算法,暂不使用,取值‘00’。 |
B |
M |
二维码公钥参数标识 |
1 |
用于标识椭圆曲线,同时确定NIC。见附录A.1 |
b |
M |
二维码公钥长度 |
1 |
标识二维码公钥的字节长度 |
b |
M |
二维码公钥 |
64 |
如果二维码公钥算法标识对应于SM2,该字段为椭圆曲线上的一个点 。 |
b |
M |
使用SM2算法,清分结算机构私钥对7.2.4数据进行签名的证书数据格式,本部分总长度为106字节,见表4。
表4 机构公钥及证书
字段名 |
长度 |
描述 |
格式 |
是否 必填 |
证书格式 |
1 |
十六进制,值为‘14’ |
B |
M |
证书失效日期 |
2 |
MMYY,在此日期后,这张证书无效 |
n4 |
M |
证书序列号 |
3 |
由发卡机构分配给这张证书的唯一的二进制数 |
B |
M |
二维码公钥签名算法标识 |
1 |
标识使用在二维码公钥上的数字签名算法。SM2算法为‘04’。 |
B |
M |
二维码公钥加密算法标识 |
1 |
标识使用在二维码公钥上的加密算法,暂不使用,取值‘00’。 |
B |
M |
二维码公钥参数标识 |
1 |
用于标识所用的椭圆曲线。见附录A.1 |
B |
M |
二维码公钥长度 |
1 |
标识二维码公钥的字节长度 |
B |
M |
二维码公钥 |
64 |
32位X轴曲线,终端根据X轴曲线计算出Y轴曲线,合成XY椭圆曲线。 |
B |
M |
数字签名 |
64 |
发卡机构对表2数据计算的SM2签名r||s |
B |
M |
本技术要求中清分结算机构私钥对发卡机构公钥数据进行签名、发卡机构使用机构私钥对二维码数据进行签名以及支付账户系统用户私钥对二维码数据进行签名时使用的密码算法应符合GM/T 0003的规定。
受理终端验证证书、签名数据的合法性以及受理终端根据公钥X轴数据计算Y轴数据时使用的算法应符合GM/T 0003的规定。
交易记录是由收单机构交易计费系统根据受理终端上传的进出站记录整理的,且已计算出乘车消费金额的交易记录,收单机构需要将此记录上传至中心的清分结算系统,清分结算系统根据清算规则对交易记录进行清分结算,并将清分结算结果下发至相关机构。
发卡机构、收单机构与清分结算机构间系统对接时,应进行安全传输,并约定交易保护密钥及通讯保护密钥。
文件类型包括交易类接口和清算类接口见表5。
表5 文件类型
文件类型 |
文件名 |
文件标识 |
说明 |
交易类接口文件 |
二维码交易明细文件 |
BCPD/BCPR |
收单机构上传的二维码消费明细文件。 |
清算类接口文件 |
二维码交易清算反馈文件 |
FB |
消费清算反馈文件,反馈给收单机构。 |
二维码交易清算明细文件 |
CL |
下发给发卡机构的二维码消费清算明细文件。 |
发卡机构、收单机构与清分结算机构间以流的方式进行文件传输,传输方式及报文要求详见JT/T 978.4-2015中7.3节。发卡机构、收单机构与清分结算系统间报文交换流程见图9和图10。
图9 上传文件交互流程图
图10 下载文件交互流程图
交易记录文件命名规则见表6。
表6 交易记录文件命名规则
数据元说明 |
数据类型 |
长度(字节) |
说明 |
文件标识 |
a |
4 |
BCPD/BCPR |
日期 |
n |
24 |
年份用后两位,YYMMDDhhmmss |
机构代码 |
n |
16 |
清分结算机构分配 |
序列号 |
ans |
20 |
机构自定义 |
文件标志 |
an |
2 |
H-手工账,A-自动账 |
交易记录文件采用顺序文件结构,且以流文件的方式进行传输。顺序文件结构见JT/T 978.4-2015中6.1.3。
交易记录文件是由交易记录头、交易记录体和交易记录尾组成。
交易记录头内容见表7。
表7 交易记录头
字段名 |
长度 |
描述 |
格式 |
是否必填 |
说明 |
开始标志 |
5 |
标志记录头的开始。 |
an |
M |
由发送方填写,内容为JTPAY |
交易总笔数 |
4 |
交易记录文件中包含的交易记录笔数,不包含记录头和记录尾 |
n |
M |
由发送方填写。 |
交易总金额 |
12 |
本域中不带小数点。交易金额为人民币的时候,本域的最后两位应包含人民币的角和分。 |
n |
M |
由发送方填写。交易记录文件中包含的交易记录的总金额。 |
版本标记 |
4 |
版本标记(TEST/PROD) |
an |
|
只填写TEST或PROD
|
版本号 |
8 |
版本号 |
an |
M |
版本号为00000001 |
交易记录尾内容见表8。
表8 交易记录尾
字段名 |
长度 |
描述 |
格式 |
是否必填 |
说明 |
版本标记 |
4 |
版本标记(TEST/PROD) |
an |
|
只填写TEST或PROD
|
MAC |
16 |
交易数据校验码 |
an |
M |
MAC为16个0~F之间的16进制字符,A~F应为大写。 按照MAC算法按JR/T 0025.7—2013,初始因子为0000000000000000。 |
交易记录数据结构见表9。
表9 交易记录数据格式
字段名 |
长度 |
内容 |
格式 |
是否必填 |
说明 |
记录长度 |
2 |
本条交易记录总长度 |
B |
M |
|
交易类型 |
4 |
见表1中二维码类型。 |
Cn |
M |
|
消费类型 |
2 |
消费类型 |
n |
M |
消费类型: 00-表示单次消费; 01-表示复合消费。 |
扫码类型 |
2 |
扫码类型 |
n |
M |
扫码类型: 00-主动扫码,即用户使用手机扫描二维码; 01-被动扫码,即受理终端扫描用户生成的二维码。 |
系统跟踪号 |
6 |
6位定长数字字符,受理机构向交易清分结算机构发送的每一笔交易,必须赋予一个交易流水号。 |
n |
M |
|
支付账户号 |
16 |
主账号 |
Cn |
M |
在右边补上十六进制数‘F’ |
收单机构号 |
4 |
收单机构标志码。 |
n |
M |
|
发卡机构号 |
4 |
发卡机构标志码。 |
n |
M |
|
发码平台编号 |
4 |
发码平台标志码。 |
n |
M |
|
商户类型 |
4 |
收单机构商户类型吗[表示商户分类编码(MCC)] |
n |
M |
|
进站二维码长度 |
2 |
进站二维码数据总长度 |
B |
C |
当扫码类型为01时,任意消费类型均需填写此域。 |
交易金额 |
12 |
本域中不带小数点。交易金额为人民币的时候,本域的最后两位应包含人民币的角和分。 |
n |
M |
|
货币代码 |
3 |
交易币种 |
an |
M |
人民币CNY |
进站二维码内容 |
259 |
进站二维码数据内容 |
B |
C |
当扫码类型为01时,任意消费类型均需填写此域。 |
出站二维码长度 |
2 |
出站二维码数据总长度 |
|
C |
当扫码类型为01且消费类型为01时,则此域必填。 |
出站二维码内容 |
259 |
出站二维码数据内容 |
B |
C |
当扫码类型为01且消费类型为01时,则此域必填。 |
进站终端ID |
8 |
同JT/T 978中终端编号的要求。 |
ans |
M |
|
出站终端ID |
8 |
同JT/T 978中终端编号的要求。 |
ans |
M |
|
进站时间 |
14 |
二维码用户进站时间。格式为YYYYMMDDhhmmss |
n |
M |
|
出站时间 |
14 |
二维码用户出站时间。格式为YYYYMMDDhhmmss |
n |
M |
|
检索参考号 |
n |
12 |
取值范围000000000001~999999999999 |
|
|
向收单机构下发当日清分结算机构对二维码交易的清算处理结果,供收单机构进行明细匹配。
数据元说明 |
数据类型 |
长度 |
说明 |
文件说明区 |
|||
版本号 |
n |
2 |
01 |
回车符 |
s |
2 |
0x0D和0x0A |
交易头 |
|||
记录总数 |
n |
6 |
取值范围000001~999999 |
清分结算机构清算日期 |
n |
8 |
YYYYMMDD |
收单机构代码 |
n |
11 |
右补空格 |
单笔交易长度 |
n |
4 |
包含回车换行:取值范围0001~9999 |
保留域 |
ans |
20 |
全F |
回车符 |
s |
2 |
0x0D和0x0A |
交易数据体 |
|||
清分结算机构流水号 |
n |
12 |
取值范围000000000001~999999999999 |
收单机构流水号 |
n |
12 |
取值范围000000000001~999999999999 |
收单机构受理日期 |
n |
8 |
YYYYMMDD |
检索参考号 |
n |
12 |
取值范围000000000001~999999999999 |
交易类型 |
an |
4 |
666-二维码支付 |
发卡机构清算机构标识 |
n |
11 |
右补空格,发卡机构的清结算上级单位 |
发卡机构代码 |
n |
11 |
右补空格, |
收单机构清算机构标识 |
n |
11 |
右补空格,收单机构的清结算上级单位 |
收单机构代码 |
n |
11 |
右补空格,交易发生地机构代码 |
MCC |
an |
4 |
参考MCC文档 |
渠道类型 |
an |
2 |
04-二维码扫码POS机 |
交通一卡通卡号 |
n |
20 |
16位~19位。 不足右补空格 |
卡消费计数器 |
n |
6 |
填充000000 |
交易金额 |
n |
12 |
取值范围000000000001~999999999999 |
交易日期 |
n |
8 |
YYYYMMDD |
交易时间 |
n |
6 |
HHMMSS |
算法标识(也加到FB文件中) |
an |
2 |
|
错误代码 |
n |
6 |
清分结算机构定义,取值范围000000~999999。 |
错误描述 |
ans |
40 |
错误描述 |
测试标志 |
n |
1 |
0为正式数据;1为测试数据。 |
手续费 |
ans |
28 |
字段格式为小数,以分为单位,保留到小数点后7位,右补空格 例如:手续费为1.3333······元,字段应填写为: 133.3333333右补空格17位 手续费为0.123元,字段应填写为:12.3000000右补空格18位 |
发卡分润 |
ans |
28 |
字段格式为小数,以分为单位,保留到小数点后7位,右补空格 例如:手续费为1.3333······元,字段应填写为: 133.3333333右补空格17位 手续费为0.123元,字段应填写为:12.3000000右补空格18位 |
收单分润 |
ans |
28 |
字段格式为小数,以分为单位,保留到小数点后7位,右补空格 例如:手续费为1.3333······元,字段应填写为: 133.3333333右补空格17位 手续费为0.123元,字段应填写为:12.3000000右补空格18位 |
预留字段 |
ans |
28 |
|
保留域 |
ans |
40 |
全F |
回车符 |
s |
2 |
0x0D和0x0A |
清分结算机构向发卡机构下发当日清分结算机构的清算结果,供发卡机构进行处理。
数据元说明 |
数据类型 |
长度 |
说明 |
文件说明区 |
|||
版本号 |
n |
2 |
01 |
回车符 |
s |
2 |
0x0D和0x0A |
交易头 |
|||
记录总数 |
n |
6 |
取值范围000001~999999 |
清分结算机构清算日期 |
n |
8 |
YYYYMMDD |
接收机构代码 |
n |
11 |
右补空格 |
单笔交易长度 |
n |
4 |
包含回车换行:取值范围0001~9999。 |
保留域 |
ans |
20 |
全F |
回车符 |
s |
2 |
0x0D和0x0A |
交易数据体 |
|||
清分结算机构流水号 |
n |
12 |
取值范围000000000001~999999999999 |
收单机构流水号 |
n |
12 |
取值范围000000000001~999999999999 |
收单机构受理日期 |
n |
8 |
YYYYMMDD |
检索参考号 |
n |
12 |
取值范围000000000001~999999999999 |
交易类型 |
an |
4 |
666-二维码支付 |
收单机构清结算机构代码 |
n |
11 |
右补空格,交易发生地单位 |
收单机构代码 |
n |
11 |
右补空格,交易发生地单位 |
发卡机构清算机构代码 |
n |
11 |
右补空格,交易发生地单位 |
发卡机构代码 |
n |
11 |
右补空格,发卡地 |
MCC |
an |
4 |
参考MCC文档 |
渠道类型 |
an |
2 |
04-二维码扫码POS机 |
交通一卡通卡号 |
n |
20 |
16位到19位 不足右补空格 |
卡消费计数器 |
n |
6 |
填充全0 |
交易金额 |
n |
12 |
取值范围000000000001~999999999999 |
交易日期 |
n |
8 |
YYYYMMDD |
交易时间 |
n |
6 |
hhmmss |
算法标识 |
an |
2 |
|
错误代码 |
n |
6 |
清分结算机构定义,取值范围000000~999999 |
错误描述 |
ans |
40 |
错误描述 |
测试标志 |
an |
1 |
|
手续费 |
ans |
28 |
字段格式为小数,以分为单位,保留到小数点后7位,右补空格 例如:手续费为1.3333······元,字段应填写为: 133.3333333右补空格17位 手续费为0.123元,字段应填写为:12.3000000右补空格18位 |
发卡分润 |
ans |
28 |
字段格式为小数,以分为单位,保留到小数点后7位,右补空格 例如:手续费为1.3333······元,字段应填写为: 133.3333333右补空格17位 手续费为0.123元,字段应填写为:12.3000000右补空格18位 |
收单分润 |
ans |
28 |
字段格式为小数,以分为单位,保留到小数点后7位,右补空格 例如:手续费为1.3333······元,字段应填写为: 133.3333333右补空格17位 手续费为0.123元,字段应填写为:12.3000000右补空格18位 |
预留字段 |
ans |
28 |
|
回车符 |
s |
2 |
0x0D和0x0A |
二维码支付交易中涉及关键、敏感数据需要进行安全保护,例如:私钥应存储在手机安全区域如SE、TEE等,防止信息泄露和篡改。
二维码支付交易涉及各系统之间进行信息传输,各系统之间应建立安全通信信道,应对交易数据采用数字签名和加密等安全方式进行传输,确保数据不对监听和篡改,例如:基于SSL/TLS 的HTTPS进行传输等。
公网环境下,二维码信息不应以明文形式传输。
应具备对传输数据的鉴别机制,确保发出数据的完整性和接收数据完整性的校验。
应对传输的数据进行保密性保护,不应引起信息泄露。
应用软件与后台系统应具备合法性检查,通过签名验签等密码技术与后台系统进行双向认证,确保后台系统和应用软件的合法性,并设置超时时间。
若应用软件涉及存储通讯、数据加密的安全密钥,应保证密钥定期更新,以防密钥丢失。
应用软件应保证如下要求:
用户支付过程中涉及的安全要求如下:
客户端应验证用户的身份,可采用如下方式进行验证:
二维码与刷卡部分必须分开,需要刷卡在上、二维码在下。二维码扫码隔离直线距离不少6厘米。
应保证在二维码数据图像旋转、不规则变形、图像亮度变化、局部污损等各种复杂情况下,可准确识读,并具有较强的自动纠错能力。
终端其他要求见JT/T 978.3。
终端应保证至少存储1000张机构证书,存储至少500条交易记录。
终端应安全存放机具自身应用程序、发卡机构证书、交易数据、黑白名单等其它参数,并确保机具断电这些数据不丢失。
具备无线通信模块如2G/3G/4G,如果是地铁闸机应具备WLAN端口,支持接入局域网、互联网,并支持二维码机构密钥更新下载。
终端应能够准实时将用户扫码行为同步到服务器端。
具备高精度时钟模块,并可进行精确授时,应保证正常使用时两次授时期间时间误差不能大于2秒。
应符合GM/T 0003国密算法的规定。
应支持识别二进制编码格式的二维码,支持识别旋转、倾斜、偏转的二维码,并可以通过USB-HID方式对二维码进行读取。
应在200ms内完成二维码读取与验证。
应QR Code等常用码制。
可支持识别旋转、倾斜、偏转的二维码。
应支持Linux操作系统,且Linux系统中glibc版本应在2.7及以上。
应具备远程管理能力,远程监测终端心跳、终端远程进行软件升级、机构证书下载与更新、黑白名单下载与更新、能远程识别终端问题且具有应急处理能力。
应保障用户公私钥、机构授权数据等信息安全,可采用敏感数据分段存储,且手机客户端程序应保证分段数据组合过程的编程逻辑的安全性。
支持显示二维码,并在显示二维码时保持屏幕高亮、常亮,并做到防截屏等功能。
手机客户端应定期进行时钟同步,确保与时钟服务器保持同步。
附录A
(规范性附录)
椭圆曲线标识
椭圆曲线标识见表A.1。
表A.1 椭圆曲线标识
算法类型 |
强度 |
曲线 |
公钥长度 |
曲线标识 |
ECC |
128位 |
NIST P-256 |
64字节 |
“01” |
ECC |
256位 |
NIST P-521 |
132字节 |
“02” |
SM2 |
128位 |
SM2 |
64字节 |
“11” |