# (三) 查询用户信息和加密证书信息
# 1. 接收加密回调信息
前置条件:接收App服务端推送的加密证书信息回调数据后,平台才能使用证书公钥进行加密
平台接收回调数据,由手机App进行扫码并输入密码操作后,触发App服务端主动通过回调接口推送,成功接收后可查询到加密证书信息。回调过程见【回调接口】、【回调接口:type=03】与【回调接口:type=05】
# 2. 查询加密用户和证书信息的接口
# (1) 接口方法url:sweepcodeController/getEncryptUserAndCertInfo
# (2) 请求参数:
参数名称 | 类型 | 是否必填 | 值示例 | 描述 |
---|---|---|---|---|
tId | String | 是 | 事件ID |
请求示例:
http://123.121.159.112:8866/sweepcodeController/getEncryptUserAndCertInfo?tId=A3401314520c8ee5d8b0261496f8897cd35aa91f106
1
# (3) 返回值:SweepCodeResult<TBAuthorizationEncryptionEntity>
参数名称 | 类型 | 描述 |
---|---|---|
header | 响应头 | |
└ returnCode | String | 0成功;1失败 |
└ msg | String | 状态结果说明 |
└ size | Null | Null |
data | 对象 | |
└ tid | String | 事件ID |
└ personName | String | 用户姓名 |
└ telephoneNum | String | 加密人手机号码 |
└ idCard | String | 身份证号 |
└ unifiedTransactionCode | String | 机构交易码 |
└ personalTransactionCode | String | 个人交易码 |
└ legalCode | String | 组织机构代码 |
└ legalName | String | 机构名称 |
└ loginUserType | String | 登录类型 01个人/02机构 |
└ algorithm | String | 加密算法:SM2 和 RSA |
└ caOrgType | String | CA机构类型编码 |
└ encCertSn | String | 加密证书的序列号 |
└ encPubCert | String | 加密的公钥证书 |
└ pubCert | String | 公钥证书 |
└ certSn | String | 签名证书的序列号 |
└ signatureValue | String | CA签名值 |
└ signOriVal | String | 签名原值 |
└ createTime | Date | 创建时间 |
响应示例:
{
"header":{
"returnCode":"0",
"msg":"成功",
"size":null
},
"data":{
"personName": "李倩倩",
"telephoneNum": "15937510685",
"idCard": "410481199401101046",
"personalTransactionCode":"972433F2A90141BEA65AA64DE0ECF7CF",
"legalCode": "911101087433182395",
"legalName": "北京蒙树生态环境工程有限公司17",
"unifiedTransactionCode": "E77C276AB1F54933BC28F6AE7A81A0C8",
"loginUserType": "02",
"caOrgType": "010001",
"encCertSn": "3300000008207965",
"encPubCert": "MIIEQzCCAyugAwIBAgII......",
"certSn": "3300000008208340",
"pubCert": "MIIEQzCCAyugAwIBAgIIMw......",
"signOriVal": "a983e3b91259475db7103586343e8fcf",
"signatureValue": "MIIGOwYJKoZIhvcNAQcC......",
"algorithm": "RSA",
"createTime": "2021-08-11T01:26:15.000+0000",
"tid": "M110000001548cbea2c36a449888cb27e2e5b7dd836"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 3. 使用加密控件加密及记录
加密后续:
平台查询到加密证书公钥encPubCert后,使用我司提供的加密控件,如CryptoKit.SDEG.(x86/x64).cab等,调用控件方法setEncryptCert()、encryptMsgCMSEnvelope()进行设置加密公钥并加密字符串(此步骤仅通过前端脚本实现,无需后台服务接口);
加密完成后需要保存加密信息以备解密时使用,包括CA机构类型编码、组织机构代码或个人身份证号、加密密文等。在提供的demo中提供了服务接口encryptionController/recordEnvelopeInfo,将信息保存在数据库表t_b_envelopeinfo_record中。交易平台可根据自身需要选择保存数据库或保存解密文件包的方式进行记录,以备解密使用。
← (二) 查询扫码状态 概述 →