PBOC卡片应用分析(二)

PBOC/EMV-交易流程详解--POS与卡片的数据交互进行分析 符号说明: RFU:预留使用 近期在调试pboc的交易,就萌生了把所有数据交互进行分析的想法,目的是抛砖引玉,希望有高手指正本文错误,或者理解不透彻的地方。 事不宜迟,下面是pboc交易的开始: 检测插片,检测卡片存在后: (1):选择支付环境pse:1PAY.SYS.DDF01 选择(SSELECT)报文,00 A4 xx(通过命令选择) xx(第一个或仅有一个) 阅读详情
接上一篇,上次基本上卡在了选择ADF之后的操作,选择完ADF之后根据Response的数据,需要做获取处理选项GPO,但是对PDOL这个东西一直搞不明白,GPO指令的数据域是PDOL,PBOC规范上对GPO的指令写的也是很模糊,只说了没有PDOL的发8300,有PDOL项的发PDOL,但是泛泛的浏览PBOC规范,对选择应用之后返回的数据中PDOL的内容也没有细说,折腾了半天才反应过来PDOL的格式,仔细对照规范对PDOL的解析如下。
+-----------+----------+-------------------+----+---------+----+--------------+-----+
| PDOL的Tag | PDOL长度 | 电子现金指示器Tag |    |授权金额 |    交易货币代码 |     |
+-----------+----------+-------------------+----+---------+----+--------------+-----+
|   9F38    |   09     |     9F7A          | 01 |  9F02   | 06 |     5F2A     | 02  |
+-----------+----------+-------------------+----+---------+----+--------------+-----+
下面发送GPO指令,这个PBOC3.0规范上关于GPO的APDU的描述Lc固定值写为0,不知道这一部分是哪个单位的人写的,Lc明显不能写成0啊,开始我还老老实实的写0,仔细想,即使没有PDOL,Data域也要发8300,Lc也得为2的,如果符合了PBOC3.0的规范,那就跟7816规范矛盾了,必须是起草者写错了。下面对GPO命令报文按我自己的修正后的说明一下以防又有人跟我已经糊里糊涂的。
 APDU 取值说明 
 CLA 80 
 INS A8
 P1,P2 00
 Lc PBOC3.0规范上写的是0,实际应该是数据域长度 
 Data  83+PDOL的部分,直接把Tag 9F38之后的部分填充进来即可,如果没有PDOL那么就是83+00
 Le

下面发送GPO指令
7.GPO
APDU:80A800000B 83099F7A019F02065F2A02
SW1SW2:6114

8.GET RESPONSE
APDU:00C0000014
RETURN:80127C0008010100100103011007070018010400
SW1SW2:9000

规范中说GPO的Reaponse数据中应该是一个BER-TLV编码的数据对象,有两种格式一种是标签为‘80’,一种是标签为‘77’,这个明显是标签为‘80’的。数据对标表示了AIP和AFL。AIP列出了交易在处理过程中执行的功能;AFL列出交易需要读出的数据存放的短文件标识符、记录号、记录个数以及脱机数据认证需要的静态签名数据的存放位置。
下面对报文进行解析,在规范上没有看太明白,一边baidu一边看规范进行解析的。
80是Tag,12是长度,7C00是AIP.
7C00按照规范是
 bit  
 bit8=0  规范说1=RFU
 bit7=1 支持SDA 
 bit6=1 支持DDA 
 bit5=1 支持持卡人认证
 bit4=1 执行终端风险管理 
 bit3=1 支持发卡行认证 
 bit2=0 0=RFU 
 bit1=0 不支持CDA 
 第2字节 RFU=0 

后面4字节08010100应该就是AFL了。
08-短文件标示符,01-第一个要读出的记录号,01-最后一个要读出的记录号,00-存放用于脱机数据认证的数据的连续记录个数,字节2指出的是第1条要读的记录号。

下面要根据AFL的指示读取SFI指向的文件,文件号格式是SFI左移3位,右边补100,字节0x80中表示SFI的是bit8~bit4,所以0000 1000中只有0000 1是SFI,按前面的规则处理后文件号格式就是01100就是0x0C,所以构造APDU读一下记录。

9.READ RECORD
APDU:00B2010C00
SW1SW2:6C3C

调整一下Le重新下发APDU

10.READ RECORD
APDU:00B2010C3C
RETURN:703A5 后面跟了58字节数据涉及我自己隐私就不发出来了
SW1SW2:9000

数据等价二磁道数据,包含了持卡人姓名,证件号码,证件类型等信息

继续往后读下一个文件

11.READ RECORD
APDU:00B2011400
SW1SW2:6C44

调整一下Le重新发指令

12.READ RECORD
APDU:00B2011444
RETURN:一堆私人数据
SW1SW2:9000

13.READ RECORD
APDU:00B2021400
SW1SW2:6CBA

14.READ RECORD
APDU:00B20214BA
RETURN:一堆私人数据 稍后分析。
SW1SW2:9000
PBOC借贷记交易流程与命令解析() -应用选择 当我们首次进行一个借贷记交易时,卡插进POS终端,首先终端会判断卡片的通信协议类型和ATR值。 一  当终端能识别卡片时,终端开始下发一个选择PSE指令,即选择一个金融环境。 根据选择PSE命令的返回和读记录取得的应用终端下发一个选择应用的指令来进入具体的应用。 如下指令:      --------------------------------------Applicat 阅读详情

相关推荐

PBOC/EMV之脱机明文PIN和脱机密文PIN

PBOC/EMV之脱机明文和脱机密文   1.      EMV与PBOC在脱机PIN的区别: EMV和PBOC都支持脱机明文PIN和联机密文PIN。区别在于EMV还支持脱机密文PIN,而在PBOC中,EMV标识支持脱机密文PIN的位置都成了保留位。 图1:PBOC中CVM的字节9位6-1: 图2:EMV中CVM的字节9位6-1:   2.      脱机明文PIN的验证

简单 & 执着 7013

PBOC规范研究之八----GPO命令()

第一、GPO命令 GPO命令主要的功能时告诉卡片,交易的金额,是否支持电子现金,以及终端的交易属性等参数,在选择应用时,卡片会返回一个PDOL标签值,其标签为9F38,终端应该保存这个列表,GPO命令的数据域就是依据PDOL列表发送的,数据发送的顺序是按照标签PDOL中的顺序排列的。 举例来说: 卡片返回的PDOL数据:9F66049F02069F03069F1A029505...

weixin_34370347的博客 833

IC卡完整交易APDU命令附分析

POS的EMV认证,涉及IC卡apdu命令,命令解析日志,完整交易流程,符合EMV规范;

QPBOC交易流程详解--POS与卡片的数据交互进行分析

QPBOC交易,也就是快速的借记贷记。 很多人都容易混淆了QPBOCPBOC和电子现金、电子钱包的概念。首先,电子钱包早在PBOC2.0的规范里面就去掉了,在PBOC3.0里面把MSD也去掉了。因此,最新的PBOC3.0规范里面,定义了三种交易,就是QPBOCPBOC以及电子现金。 这三个交易的关系有点错综复杂,PBOC是最基础的借记贷记流程,电子现金,与PBOC的流程基本一致,纯

gszhy的专栏 1万+

PBOC

最近在做一个基于PBOC电子现金卡的终端应用, 项目还没有完成, 但电子现金部分的处理模块已完成,剩下的基本是UI和调试的事情了. 想把对PBOC电子现金理解整理成一篇文章. 电子现金的概念是在PBOC规范的第十三部分>里提出的。可以这样理解,电子现金是PBOC里的一个应用,它基于借贷记. 这个应用被提出的目的就是实现我们经常听说的一个功能, 小额支付功能. 基于电子现金的卡目前来讲,

u013318715的专栏 3487

磁条磁道介绍

港澳台及中国境外发卡机构发行的卡片不检测三磁道,即这些地区和国家的发卡机构发行的卡片的第三磁道数据可以按照当地要求进行编码,BCTC不做检测。 送检时必须提供第磁道和第三磁道附加数据中卡片验证码( CVN)的长度和位置。 若卡面印刷卡失效日期,则应与磁道信息里的失效日期一致。 1. 一磁 一磁道数据格式:(...

weixin_30267691的博客 1065

金融PBOC卡片目录结构

根据第三部分《中国金融集成电路(IC)卡规范第3部分:与应用无关的IC卡与终端接口规范》,提及到卡片目录结构: 1.      卡片可以是单层目录的单应用卡,也可以是单个目录的多应用卡; 2.      主文件是卡商唯一的目录定义文件,文件标识符为3F00,主文件的FCI必须包含SFI数据对象;   根据第四部分《中国金融集成电路(IC)卡规范第4部分:借记贷记应用规范》 1.

简单 & 执着 4359

PBOC卡片应用分析(一)

之前没有对金融卡片研究过今天用自己的建行环球旅行信用卡学习一下。 使用的读卡器是一款CCID的接触式读卡器,北京的中国移动营业厅有使用他的低版本型号。CCID的读卡器通讯API还算比较简单,自己之前有现成的代码,但是测试了一下,在选择完T0协议后,通讯还是有问题,向卡片发数还是有问题,总是犯0xE的错误。不查代码了直接用我司麻工研发的强大的snooper。 首先上来是选择MF 1.SEL

a100501102的专栏 1532

PBOC卡片交易日志分析】流程

卡片的交易流程在PBOC3.0规范 第4部分中有完整交易的流程图: 这里只进行脱机数据认证部分的举例分析: SDA, DDA, fDDA. 非接q交易默认GPO响应不返回AFL,支持新的online ODA的卡片需要设置正确的DF61(第7位ODA支持位)和9F68(最后一个byte第6位) SDA: DDA: fDDA:

rachel_92的博客 1816

EMV和PBOC规范介绍

EMV和PBOC规范介绍

qincheng168的博客 6107

PBOC卡片应用分析(四)非接触式IC卡规范

感谢@JulyClyde同学友情提供的工商银行闪酷钥匙扣,支持银联的闪付功能。卡片内的电子现金余额已经被圈提干净,余额应该是0。现在使用PC/SC的读卡器配合麻工强大的Snooper进行测试。 首先选择PPSE. 1.SELECT Command:00A404000E 325041592E5359532E4444463031 Response:6F2E840E325041592E5

a100501102的专栏 2402

PBOC卡片应用分析(五)非接触式IC卡规范

继续前一张工行闪酷卡,其实当初已经测试完成之时忙着国庆回家,没有及时出测试报告,现在把其他项目的测试情况整理一下。 接着上一篇,终端在GPO时送入的终端交易属性是22000000,表示终端不支持非接触式借记/贷记应用, 支持qPBOC,不支持接触式借记/贷记应用终端具有联机能力,不支持联机PIN,不支持签名。 1.GPO Command:80A8000023832122

a100501102的专栏 2506
上一篇: PBOC卡片应用分析(一)
下一篇: PBOC卡片应用分析(三)
詹天佐
博客等级 码龄19年 71粉丝 25原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值