读取PBOC电子现金指令流

该指令流仅适用于T=0协议卡片.

 

终端对IC卡的响应:

60 须要额外的工作等待时间,说明IC卡端数据还未处理好.

61 发送GET RESPONSE命令取应答数据

6C 加上取字节数,命令重发

 

按照其类型,文件可能通过文件名称和SFI进行查询.

卡中的不论什么ADF(应用定义文件)或DDF(文件夹定义文件)可通过其DF(专用文件)名查询,ADF的DF名相应其AID,每一个DF名在给定的卡中是唯一的.

SFI(短文件标识符)用于选择AEF(应用基本文件).对给定应用中的不论什么AEF,能够通过SFI(5位代码,取值范围1~30)查询.

 

S1: 读取ATR

<=3B 6D 00 00 80 65 08 49 04 86 53 00 00 00 00 00 00

ATR数据解析

字符

说明

TS

3B

正向约定,首先发送的是字符的最低有效位

T0

6D

TB1和TC1存在,D表示历史字节的存在个数

TB1

00

不使用VPP

TC1

00

指明所需额外保护的时间量

历史字节

80 65 08 49 04 86 53 00 00 00 00 00 00

 

S2:选择支付系统”1PAY.SYS.DDF01”,读取FCI(文件控制信息)

=>00 A4 04 00 0E

<=A4(INS)

=>31 50 41 59 2E 53 59 53 2E 44 44 46 30 31         //”1PAY.SYS.DDF01”

<=61 28

=>00 C0 00 00 28

<=C0

<=6F 26           // FCI模板

  84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 3031                // DF名

  A5 14           //FCI专用数据

88 01 01 5F 2D 02 7A 68 9F11 01 01 BF 0C 05 9F 4D 02 0B 0A            //目标基本文件的SFI

<=90 00

命令解析

命令

 

00 A4 04 00 Lc

SELECT, 04表示通过文件名称选择,Lc命令数据域中存在的字节数

00 C0 00 00 Le

GET RESPONSE, Le表示响应的期望数据的最大长度

数据解析

SELECTDDF的响应报文(FCI)

标志

 数据

6F

FCI模板

 

84

DF名

 

A5

FCI专用数据

 

 

 

88目标基本文件的SFI

S3: 依据卡片返回的FCI控制信息88,读取01文件的第一条记录,查找AID

=>00 B2 01 0C 00             //  Care: high_5bits_SFI + low_3bits_0x04 = 0x01<< 3 + 0x01= 0x0c

<=6C 27

=>00 B2 01 0C 27

<=B2

<=70 25                    // 结构数据对象标识

61 23            // 应用模板

4F 08 A0 00 00 03 33 01 0101            //ADF名称(AID)

50 0A 50 42 4F 43 20 44 4542 49 54            // 应用标签

9F 12 0A 50 42 4F 43 20 4445 42 49 54     // 应用优先名称

<=90 00

命令解析

命令

 

00 B2 01 0C 00

READ RECORD,用于读取记录文件的内容

数据解析

ADF文件夹入口地址格式

标志

长度

70

var.

结构对象数据标示

 

 

61

Var.

应用模板

 

 

 

 

4F

5-16

ADF名称(AID)

 

 

 

 

50

1-16

应用标签

 

 

 

 

9F12

1-16

应用优先名称

S4: 通过AID选择应用

=>00 A4 04 00 08

<=A4

=>A0 00 00 03 33 01 01 01

<=61 47

=>00 C0 00 00 47

<=C0

<=6F 45

84 08 A0 00 00 03 33 01 0101            // ADF名称(AID)

A5 39

50 0A 50 42 4F 43 20 44 4542 49 54            // 应用标签

87 01 01

9F 38 09 9F 7A 01 9F 02 065F 2A 02

5F 2D 02 7A 68

9F 11 01 01

9F 12 0A 50 42 4F 43 20 4445 42 49 54     // 应用优先名称

BF 0C 05 9F 4D 02 0B 0A

<=90 00

S5: 读取电子现金剩余金额

=>80 CA 9F 79 00

<=6C 09

=>80 CA 9F 79 09

<=CA

<=9F 79 06 00 00 00 00 00 00

<=90 00

命令解析

命令

说明

80 CA 9F 79 00

GET DATA,9F 79读取电子现金剩余金额

数据解析

9F 79 06 00 00 00 00 00 00,返回6字节的剩余金额数据,採用BCD编码,最后一个字节表示小数点后两位.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和引用\[2\]的内容,PBOC(中国金融集成电路(IC)卡规范)中的IC卡数据解析涉及TLV格式。而根据引用\[2\]和引用\[3\]的内容,PBOC读取IC卡的55域涉及到DDA(动态数据认证)过程。DDA是在终端验证静态数据后,终端发送内部认证命令给卡片,命令中包含由DDOL(动态数据对象列表)指定的数据元,IC卡会根据这个列表中指出的数据使用IC卡私钥进行加密生成数字签名,这个结果即是签名的动态应用数据。终端收到这个数据后,会使用CA公钥证书、发卡行公钥证书和IC公钥证书来解密IC卡私钥加密的数据,并进行比较结果。因此,PBOC读取IC卡的55域涉及到DDA过程中的数据解密和验证。 #### 引用[.reference_title] - *1* [IC卡(银行卡)APDU数据格式TLV解析](https://blog.csdn.net/u011082160/article/details/127372461)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [移动安全规范 — 4.1 PBOC2.0 IC卡认证](https://blog.csdn.net/qincheng168/article/details/129306329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值