You are on page 1of 19

接口标准

即时制卡数据及密钥接口方案 V2.2
(测试环境)

二零二三年九月

1
接口标准

修订

操作者 版本 修改内容 日期

韩善亮 V1.0 初建 2023-08-23

韩善亮 V1.1 修改 2023-09-07

韩善亮 V2.0 添加获取金融数据接口 2023-09-19

韩善亮 V2.1 1、添加附件 4 金融安全域默认主控以及社保 CA 部分默 2023-09-20

认主控、管理员 PIN 与 UPIN。

2、更新了图 4-1 金融数据的流转部分。

韩善亮 V2.2 1、调整个人化数据 K002 接口,约定了社保个人化数据 2023-09-22

项。

2、调整回盘审计 K006 接口,增加卡识别码项。

2
接口标准
目录
修订 .................................................................................................................................................. 2
1、 编制目的 .................................................................................................................................. 4
2、 社会保障卡即时制卡预制卡规范........................................................................................... 4
3、 部署架构设计 .......................................................................................................................... 4
4、 数据流转图 .............................................................................................................................. 5
5、 接口规范 .................................................................................................................................. 6
5.1 接口说明 .......................................................................................................................... 6
5.5 调用方式 .......................................................................................................................... 7
6、 接口描述 .................................................................................................................................. 7
6.1 请求密钥 .......................................................................................................................... 7
6.2 请求数据 .......................................................................................................................... 8
6.3 请求批次数据................................................................................................................... 9
6.4 请求照片数据................................................................................................................. 10
6.5 请求 CA 证书 .................................................................................................................. 11
6.6 回盘审计 ........................................................................................................................ 13
6.7 请求金融数据................................................................................................................. 14
附录 1: 山东第三代社会社保卡规范.......................................................................................... 16
附录 2: 照片数据编码规则 ......................................................................................................... 17
附录 3: 卡面打印及卡内写入的照片.......................................................................................... 18
附录 4: 测试卡片默认密钥及 PIN .............................................................................................. 19

3
接口标准
1、编制目的
制定本文档用于约定建行即时制卡设备商与社保卡管服务数据及密钥的交互方式,实现

从云平台直接提取社保数据、密钥、CA 数据以及金融测试数据、测试密钥等。

2、社会保障卡即时制卡预制卡规范
1. 预制卡出厂时完成两部分工作,一是社保卡结构建立、社保写入三项数据(ATR、卡

识别码、初始化机构编码)、社保加载正式密钥;二是金融初始化,按照建行要求,写

入初始的通道密钥。

2. 即时制卡设备的工作包括四部分,一是写入社保数据,包括 SSSE_EF05(发卡机构信

息)、SSSE_EF06(持卡人信息)、SSE_EF08(照片);二是 PKI 部分,写入 CA 证书;

三是金融个人化;四是卡面个人化打印。

图 2-1 卡商制卡内容

图 2-2 即时制卡内容

3、部署架构设计

4
接口标准

图 3-1 部署图

4、数据流转图

图 4-1 数据流转图

5
接口标准
5、接口规范
5.1 接口说明

接口地址:http://47.104.86.77:8080/api/v1/tkCard/sendMsg

请求为 json 格式数据,http 请求,Content-type:application

5.2 功能清单

交易编号 交易分类 接口名称

K001 请求社保密钥 获取社保部分读写密钥

K002 请求社保制卡数据 获取单条社保个人化数

K003 请求社保批量制卡数据 通过批次号获取批量社

保个人化数据

K004 请求社保照片 获取数据

K005 请求社保 CA 获取证书、公钥等数据

K006 回盘审计 上传银行账号、卡识别码

B001 请求金融制卡数据 获取单条金融个人化数

5.3 存在性约定

序号 约定符号 含义说明

1 M 必须存在

2 C 一定条件下存在

3 O 可选性存在

4 R 在响应报文中必须存在,且与请求报文的值相同

5.4 报文说明

1)接口报文格式均为 JSON 格式;

2)请求报文 dataString 元素为 JSON 对象类型;

3)响应报文 data 元素为 JSON 对象类型;

6
接口标准
4)各个接口响应报文都包含 statusCode 和 message,statusCode 为 200 表示成功,非

200 表示失败,message 为对应的提示信息;

5)参数中的中文要转成 utf-8 的编编码传入。

5.5 调用方式

访问请求使用 http(post)提交。

6、接口描述
6.1 请求密钥

即时制卡服务通过卡片 ATR 值获取密钥明文,认证卡片读写权限。

入参信息:

数据项名称 类型 存在性 字段长度 数据项描述

交易编码 string M 4 K001

data string M 26 接触复位信息右 26 位

返回信息:

数据项名称 类型 存在性 字段长度 数据项描述

statusCode string M 4 返回码

message string M 60 返回信息

data object 响应明细,返回信息串:密钥值,

共 6 把密钥/PIN。

RKSSSE |RKEF0C |UKSSSE |社保

主控密钥|用户 pin|管理员 pin

示例:

请求消息

{
"code":"K001",
"data":"0081544B50869B370700000001"
}
响应消息

{
"statusCode": "200",
"message": "获取密钥成功",
"data":

7
接口标准
"F22C8D73C708C107A76E4DBA317F2879|2C2783CE6172F54E870E6A4
2BE6FA6B0|9C72E8A8E74F37562CD9FA0E8EC00068|C9E7B1A3BFA8BB
B7BEB3BFD8C3DCD4BF|123456|12345678|"}

6.2 请求数据

即时制卡服务通过卡片 ATR 值获取个人化数据,主要包括 EF05 和 EF06 的数据。

入参信息:

数据项名称 类型 存在性 字段长度 数据项描述

交易编码 string M 4 K002

data string M 24 接触复位信息右 26 位

返回信息:

数据项名称 类型 存在性 字段长度 数据项描述

statusCode string M 4 返回码

message string M 60 返回信息

data object 返回个人化数据:姓名|社会保障号

码|社保卡号|卡类别|规范版本|

初始化机构编号|性别|民族|行政

区划代码|发卡日期|卡有效期|银

行账号(通过 BOO1 接口获取金融个人

化数据)

备:返回的数据除银行账号外,都要

写入附录 1 对应的记录中。

示例:

请求消息

{
"code":"K002",
"data":"0081544B50869B370700000001"
}
响应消息

{
"statusCode": "200",

8
接口标准
"message": "获取数据成功",
"data": "测试
0001|370700199608280001|XY8280001|3|3.00|9156000002370700
3707002E|1|01|370700|20230901|20330901|621467376005348693
8"
}
6.3 请求批次数据

即时制卡服务通过批次号获取批量制卡数据。

入参信息:

数据项名称 类型 存在性 字段长度 数据项描述

交易编码 string M 4 K003

data string M 6 按实际生产批次

返回信息:

数据项名称 类型 存在性 字段长度 数据项描述

statusCode string M 4 返回码

message string M 60 返回信息

data object 响应明细

dataList array M 返回多条个人化数据

ReturnResult string M 姓名|社会保障号码|社保卡

号|......

示例:

请求消息

{
"code":"K003",
"data":"000001"
}
响应消息

"statusCode": "200",
"message": "batch:000001",
"data": [
"测试
0001|370700199608280001|XY8280001|3|3.00|9156000002370700

9
接口标准
3707002E|1|01|370700|20230901|20330901",
"测试
0002|370700199608280002|XY8280002|3|3.00|9156000002370700
3707002E|1|01|370700|20230901|20330901",
......
]
}
6.4 请求照片数据

即时制卡服务通过卡片 ATR 值获取照片数据。

入参信息:

数据项名称 类型 存在性 字段长度 数据项描述

交易编码 string M 4 K004

data string M 24 接触复位信息右 26 位

返回信息:

数据项名称 类型 存在性 字段长度 数据项描述

statusCode string M 4 返回码

message string M 60 返回信息

data object 响应明细,返回照片数据。

示例:

请求消息

{
"code":"K004",
"data":"0081544B50869B370700000001"
}
响应消息

{
"statusCode": "200",
"message": "获取照片成功",
"data":
"/9j/4AAQSkZJRgABAQACWAJYAAD/4QEMRXhpZgAATU0AKgAAAAgACAEG
AAMAAAABAAUAAAESAAMAAAABAAEAAAEaAAUAAAABAAAAbgEbAAUAAAABA
AAAdgEoAAMAAAABAAIAAAExAAIAAAAcAAAAfgEyAAIAAAAUAAAAmodpAA

10
接口标准
QAAAABAAAArgAAAAAAAAJYAAAAAQAAAlgAAAABQWRvYmUgUGhvdG9zaG9
wIENTNSBXaW5kb3dzADIwMTI6MTA6MjcgMDk6MDQ6MDYAAAWQAAAHAAAA
BDAyMjGQBAACAAAAFAAAAPCgAQADAAAAAQABAACgAgAEAAAAAQAAAdigA
wAEAAAAAQAAAk8AAAAAMjAxMToxMToyNCAwOTo1NDohwYWNrZXQgYmVna
W49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eD
p4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4Onht......
}
6.5 请求 CA 证书

即时制卡服务通过卡片 ATR 值获取 CA 证书等信息。

入参信息:

数据项名称 类型 存在性 字段长度 数据项描述

交易编码 string M 4 K005

data string M 24 接触复位信息右 26 位

返回信息:

数据项名称 类型 存在性 字段长度 数据项描述

statusCode string M 4 返回码

message string M 60 返回信息

data object 响应明细,返回 CA 数据,:序

号|姓名|卡号|行政区划代

码|算法|签名公钥|签名证

书 | ...... | 主 控 | 管 理 员

pin

备:其中送检卡管理员 pin 为

12345678

示例:
请求消息

{
"code":"K005",
"data":"0081544B50869B370700000001"
}
响应消息

11
接口标准
{
"statusCode": "200",
"message": "获取证书成功",
"data": "<XH>1</XH><XM>测试
0001</XM><SHBZHM>0001,370700199608280001</SHBZHM><KH>XY82
80001</KH><XZQHDM>370700</XZQHDM><SF>SM2</SF><QMGY>3059D7
04648EBD6295FBFA2F6E353ADFDD4CBBED6EEF8BF17548ECCD7A7C816
D1488B8E2C1E790655BC802EB97A698736804463D23FAFABCF1CF6A49
4F97ADBE</QMGY><KSNBXLH>01</KSNBXLH><QMZS>MIICeTCCAh6gAwI
BAgIQEDcAATc36nh6vqsJlOxYczAKBggqgRzPVQGDdTCBnzE2MDQGA1UE
Awwt5bGx5Lic55yB5Lq65Yqb6LWE5rqQ56S+5Lya5L+d6Zqc5L+h5oGv5
Lit5b+DMTAwLgYDVQQKDCflsbHkuJznnIHkurrlipvotYTmupDlkoznpL
7kvJrkv53pmpzljoUxEjAQBgNVBAcMCea1juWNl+W4gjESMBAGA1UECAw
J5bGx5Lic55yBMQswCQYDVQQGEwJDTjAeFw0yMzA4MTYwODMwNDZaFw0z
MzA4MTYwODMwNDZaMEYxCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAnlsbHku
JznnIExDzANBgNVBAcMBuecgeebtDESMBAGA1UEAwwJ6LW15YWD5pS+MF
kwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEMFnXBGSOvWKV+/ovbjU6391
Mu+1u74vxdUjszXp8gW0UiLjiweeQZVvIAuuXpphzaARGPSP6+rzxz2pJ
T5etvqOBkzCBkDAfBgNVHSMEGDAWgBTzcyOhSuSaAALn6BjT0W/O6WWs3
TAdBgNVHQ4EFgQUWmDJa8zC7ZUJzCpvTQQJ9gI4ZAowCwYDVR0PBAQDAg
bAMBQGByqBHJIMAQEECU82MTAxMTU1WDArBgcqgRySDAECBCBm4F+HamX
v/oATK0qoxjblVT72jczaHesLZ/jGxnc+JzAKBggqgRzPVQGDdQNJADBG
AiEA1euUDYuaSvK4ELGRh7N2+yCykeoDQZSJDVt7fLpRmMcCIQCf19puZ
HuAQcFIMm7fHOrUI5Bb0SlRoKdDfnSabk1ZAg==</QMZS><JMZS>MIICd
jCCAhygAwIBAgIQIDcAATc37O2S9o6sOfoQ7zAKBggqgRzPVQGDdTCBnz
E2MDQGA1UEAwwt5bGx5Lic55yB5Lq65Yqb6LWE5rqQ56S+5Lya5L+d6Zq
c5L+h5oGv5Lit5b+DMTAwLgYDVQQKDCflsbHkuJznnIHkurrlipvotYTm
upDlkoznpL7kvJrkv53pmpzljoUxEjAQBgNVBAcMCea1juWNl+W4gjESM
BAGA1UECAwJ5bGx5Lic55yBMQswCQYDVQQGEwJDTjAeFw0yMzA4MTYwOD
MwNDZaFw0zMzA4MTYwODMwNDZaMEYxCzAJBgNVBAYTAkNOMRIwEAYDVQQ
IDAnlsbHkuJznnIExDzANBgNVBAcMBuecgeebtDESMBAGA1UEAwwJ6LW1
5YWD5pS+MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEAofux+EkwexWf
XdgXbVVB3ZaYzzJavdmzViEpKhA25sQToH4qa15YIg2Xr0tn8gvJE9sim
qHEEgwhzVThmwtyaOBkTCBjjAfBgNVHSMEGDAWgBTzcyOhSuSaAALn6Bj
T0W/O6WWs3TAdBgNVHQ4EFgQUnITF5eaM5yNyAyqcHPJ7UcPWlTcwCwYD
VR0PBAQDAgQwMBMGBiqBHJIMAQQJTzYxMDExNTVYMCoGBiqBHJIMAgQgZ
uBfh2pl7/6AEytKqMY25VU+9o3M2h3rC2f4xsZ3PicwCgYIKoEcz1UBg3
UDSAAwRQIhAKs864El5GP5AYr75OWND6XFek5abxHnCKLt+kR0ktoKAiA

12
接口标准
y/Y3t+im1MBrJ4RifsexcbDKw5He0eiVhD7bTMbFa8w==</JMZS><JMMY
>AQAAAAEEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD2AdekDj1kRjbPIRHtmaKrW/W2XLWgifcKelEcK5uwBgABAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKH7sfhJMHsVn13YF21VQ
d2WmM8yWr3Zs1YhKSoQNubAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAQToH4qa15YIg2Xr0tn8gvJE9simqHEEgwhzVThmwtyQAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7K+WN+7zxDX8LfwIpCdu2
c90atyxIMtSYUMku6JSD9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAPGd8B3FLlzLVxPR+EUR64ehE/GPLBW2HwTCgs1m0bbsPti4+M
36Axtab0U0Ivtt+BaHEDBYWPt3hJTVzC39/kQAAAAehi74D6TC8+cuiD2
kZd0DQ==</JMMY><ZKMY>39393732383039313730373939323833</ZK
MY><GLYPIN>12345678</GLYPIN>"
}

6.6 回盘审计

即时制卡服务个人化完成,上传银行卡号和卡识别码。

入参信息:

数据项名称 类型 存在性 字段长度 数据项描述

交易编码 string M 4 K006

data string M 社保卡号|银行账号|卡识别码

返回信息:

数据项名称 类型 存在性 字段长度 数据项描述

statusCode string M 4 返回码

message string M 60 返回信息

data string R 社保卡号|银行账号|卡识别码

备:即时制卡服务读取卡识别码,

社保、金融个人化成功后,上传

至社保卡管系统。

示例:

请求消息

13
接口标准
{
"code":"K006",
"data":"XY8280001|6214673760053486938|370700D156000005000
01701BC3988FE"
}
响应消息

{
"statusCode": "200",
"message": "回盘成功!",
"data":
"XY8280001|6214673760053486938|370700D15600000500001701BC
3988FE"
}

6.7 请求金融数据

即时制卡服务通过金融账号获取卡面打印及 IC 数据。

入参信息:

数据项名称 类型 存在性 字段长度 数据项描述

交易编码 string M 4 B001

data string M 19 银行账号(K002 获取得到)

返回信息:

数据项名称 类型 存在性 字段长度 数据项描述

statusCode string M 4 返回码

message string M 60 返回信息

data object M 响应数据

id int 1 序号

bankNum string 19 银行账号

icData string IC 数据

mag string 卡面打印数据(含磁条数据)

示例:

14
接口标准
请求消息

{
"code":"B001",
"data":"6214673760053486938"
}
响应消息

{
"statusCode": "200",
"message": "获取金融数据成功!",
"data": {
"id": 1,
"bankNum": "6214673760053486938",
"icData":
"<KEK>31313131313131313131313131313131</KEK><TK>323232323
23232323232323232323232</TK><DGI0101>01013470325730E8167B
CFFA4991172517EAAC2167DADF9A190B0E3D3DE47BC6549BBEEBAB67A
0234B5D2DCF20D5DF05A8F7393CC089E9</DGI0101>......<DGICARD
_KMC>CA17A9FB90E7AB9952F79A80391E0411B7CA99CE</DGICARD_KM
C>",
"mag":
"20220913500001900500333600103187800000000000013621467376
0053486938001 203212
银联复合第三代社保预制卡
E007FFFCD292E02174367BFA79DF034856A0027D817A886B7AE12CDE8
20F6239C1B395A7EFF288D81F305E9C504C88BF
"
}
}

15
接口标准
附录 1: 山东第三代社会社保卡规范

标志 数据项 类型 长度 所属文件 备注
‘01’ 卡的识别码 cn ‘10’
‘02’ 卡的类别 an ‘01’
‘03’ 规范版本 an ‘04’
SSSE
‘04’ 初始化机构编号 cn ‘0C’
‘EF05’
‘05’ 发卡日期 cn ‘04’
‘06’ 卡有效期 cn ‘04’
‘07’ 卡号 an ‘09’
‘08’ 社会保障号码 an ‘12’
‘09’ 姓名 an ‘1E’
4E 姓名扩展 an ‘14’
SSSE
‘0A’ 性别 an ‘01’
‘EF06’
‘0B’ 民族 cn ‘01’
‘0C’ 出生地 cn ‘03’
‘0D’ 出生日期 cn ‘04’
SSSE 起始位
- 指纹/指静脉数据文件 b ‘1000’
‘EF07’ 置 0000
SSSE 起始位
- 数字相片数据文件 b ‘2000’
‘EF08’ 置 0000
‘E8’ 保障号码 an ‘12’
银行卡卡号(与银行联机结算使
‘E9’ an ‘28’ SSSE
用)
‘EF0C’
‘EA’ 发卡机构编号 an ‘06’
‘EB’ 发卡机构名称 an ‘3E’

16
接口标准
附录 2: 照片数据编码规则

import java.util.Base64;

BufferedInputStream bufferedInputStream = new BufferedInputStream(new


FileInputStream(path));
byte[] photoBytes = new byte[len];
bufferedInputStream.read(bytes);
//转换成字符流
String photoStr = Base64.getEncoder().encodeToString(photoBytes);
//转换成字节流
byte[] photoBytes1 = Base64.getDecoder().decode(photoStr);

17
接口标准
附录 3: 卡面打印及卡内写入的照片

18
接口标准
附录 4: 测试卡片默认密钥及 PIN

1、 金融安全域默认 3 把通道密钥

404142434445464748494A4B4C4D4E4F ,GP211 分散。

2、 CA 默认主控以及 PIN 值

主控:C9E7B1A3BFA8BBB7BEB3BFD8C3DCD4BF

管理员 PIN:12345678

UPIN:123456

19

You might also like