PBOC借贷记交易流程与命令解析(二) -应用选择
2014-04-27 15:25
337 查看
当我们首次进行一个借贷记交易时,卡插进POS终端,首先终端会判断卡片的通信协议类型和ATR值。
一 当终端能识别卡片时,终端开始下发一个选择PSE指令,即选择一个金融环境。
二 根据选择PSE命令的返回和读记录取得的应用,终端下发一个选择应用的指令来进入具体的应用。
如下指令:
--------------------------------------Application Selection--------------------------------------
[APDU Command]->[Card]:
Card Command : 00 A4 04 00 0E
Input Data : 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 ---->这里的数据表示的是PSE的应用环境名称,即1PAY.SYS.DDF01的ASSCI码
Output Data :
Card Status : 61 20
[APDU Command]->[Card]:
Card Command : 00 C0 00 00 20
Input Data :
Output Data : 6F 1E 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 0C 88 01 01 5F 2D 02 7A
68 9F 11 01 01
Card Status : 90 00
选择后会返回一堆数据,叫做FCI模板数据,按照PBOC规范解析如下:
[84] DF Name 应用名称
31 50 41 59 2E 53 59 53 2E 44 44 46 30 31
[88] Short File Identifier (SFI),即目录文件的短文件表示符,下一条指令按照这个这个短文件标识符来找出卡片中所有的应用AID。
01
[5F2D] Language Preference
7A 68
[9F11] Issuer Code Table Index
01
通过读记录指令,来读出所有卡片中的应用AID,终端会一一把这些AID记录下来,直到找不到为止,形成一个应用的列表。
[APDU Command]->[Card]:
Card Command : 00 B2 01 0C 00
Input Data :
Output Data :
Card Status : 6C 1D
[APDU Command]->[Card]:
Card Command : 00 B2 01 0C 1D
Input Data :
Output Data : 70 1B 61 19 4F 08 A0 00 00 03 33 01 01 01 50 0A 50 42 4F 43 20 44 45 42 49 54 87
01 01
Card Status : 90 00
有木有?有木有,终端找到了一个AID为A0 00 00 03 33 01 01 01 的应用
[APDU Command]->[Card]:
Card Command : 00 B2 02 0C 00
Input Data :
Output Data :
Card Status : 6A 83
直到返回6A83,终端就认为:亲,我把你所有房间都搜了遍,终于搜完了,我把搜到的宝贝的名字都记下来呈送给客人,等下要去根据客人的要求来点你们其中一个来来服务客人哦。
这个时候,假设客人想要A0 00 00 03 33 01 01 01(借记交易),点击了终端的列表,终端接收到指令,马上下发给卡片,选择这个应用:翠花,客人点了你,还不去更衣。
----------------------------------------Final Selection ----------------------------------------
[APDU Command]->[Card]:
Card Command : 00 A4 04 00 08
Input Data : A0 00 00 03 33 01 01 01
Output Data :
Card Status : 61 36
[APDU Command]->[Card]:
Card Command : 00 C0 00 00 36
Input Data :
Output Data : 6F 34 84 08 A0 00 00 03 33 01 01 01 A5 28 50 0A 50 42 4F 43 20 44 45 42 49 54 87
01 01 9F 38 09 9F 7A 01 9F 02 06 5F 2A 02 5F 2D 02 7A 68 BF 0C 05 9F 4D 02 0B 0A
Card Status : 90 00
卡片收到选择应用的指令,马上把这个应用的特性以FCI的形式返回给终端。
Information about the selected AID:
[84_1] DF Name
A0 00 00 03 33 01 01 01
[50] Application Lable
50 42 4F 43 20 44 45 42 49 54 我的标签是:PBOC DEBIT:借记卡
[87] Application Priority Indicator (API)
01
[9F38] Processing Options Data Object List (PDOL) 处理选项数据对象列表,后面在应用初始化中由终端根据这个列表组织好数据下发到卡片
9F 7A 01 9F 02 06 5F 2A 02
[5F2D_1] Language Preference
7A 68
[BF0C] File Control Information(FCI) Issuer Discretionary Data
9F 4D 02 0B 0A
注意,目前PBOC3.0删除了终端对DDF的支持并且要求IC卡不使用DDF,但并不意味着不支持选择PSE/PPSE,但很多终端如果存够多的AID数据的话,直接使用select Aid的方式。
一 当终端能识别卡片时,终端开始下发一个选择PSE指令,即选择一个金融环境。
二 根据选择PSE命令的返回和读记录取得的应用,终端下发一个选择应用的指令来进入具体的应用。
如下指令:
--------------------------------------Application Selection--------------------------------------
[APDU Command]->[Card]:
Card Command : 00 A4 04 00 0E
Input Data : 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 ---->这里的数据表示的是PSE的应用环境名称,即1PAY.SYS.DDF01的ASSCI码
Output Data :
Card Status : 61 20
[APDU Command]->[Card]:
Card Command : 00 C0 00 00 20
Input Data :
Output Data : 6F 1E 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 0C 88 01 01 5F 2D 02 7A
68 9F 11 01 01
Card Status : 90 00
选择后会返回一堆数据,叫做FCI模板数据,按照PBOC规范解析如下:
[84] DF Name 应用名称
31 50 41 59 2E 53 59 53 2E 44 44 46 30 31
[88] Short File Identifier (SFI),即目录文件的短文件表示符,下一条指令按照这个这个短文件标识符来找出卡片中所有的应用AID。
01
[5F2D] Language Preference
7A 68
[9F11] Issuer Code Table Index
01
通过读记录指令,来读出所有卡片中的应用AID,终端会一一把这些AID记录下来,直到找不到为止,形成一个应用的列表。
[APDU Command]->[Card]:
Card Command : 00 B2 01 0C 00
Input Data :
Output Data :
Card Status : 6C 1D
[APDU Command]->[Card]:
Card Command : 00 B2 01 0C 1D
Input Data :
Output Data : 70 1B 61 19 4F 08 A0 00 00 03 33 01 01 01 50 0A 50 42 4F 43 20 44 45 42 49 54 87
01 01
Card Status : 90 00
有木有?有木有,终端找到了一个AID为A0 00 00 03 33 01 01 01 的应用
[APDU Command]->[Card]:
Card Command : 00 B2 02 0C 00
Input Data :
Output Data :
Card Status : 6A 83
直到返回6A83,终端就认为:亲,我把你所有房间都搜了遍,终于搜完了,我把搜到的宝贝的名字都记下来呈送给客人,等下要去根据客人的要求来点你们其中一个来来服务客人哦。
这个时候,假设客人想要A0 00 00 03 33 01 01 01(借记交易),点击了终端的列表,终端接收到指令,马上下发给卡片,选择这个应用:翠花,客人点了你,还不去更衣。
----------------------------------------Final Selection ----------------------------------------
[APDU Command]->[Card]:
Card Command : 00 A4 04 00 08
Input Data : A0 00 00 03 33 01 01 01
Output Data :
Card Status : 61 36
[APDU Command]->[Card]:
Card Command : 00 C0 00 00 36
Input Data :
Output Data : 6F 34 84 08 A0 00 00 03 33 01 01 01 A5 28 50 0A 50 42 4F 43 20 44 45 42 49 54 87
01 01 9F 38 09 9F 7A 01 9F 02 06 5F 2A 02 5F 2D 02 7A 68 BF 0C 05 9F 4D 02 0B 0A
Card Status : 90 00
卡片收到选择应用的指令,马上把这个应用的特性以FCI的形式返回给终端。
Information about the selected AID:
[84_1] DF Name
A0 00 00 03 33 01 01 01
[50] Application Lable
50 42 4F 43 20 44 45 42 49 54 我的标签是:PBOC DEBIT:借记卡
[87] Application Priority Indicator (API)
01
[9F38] Processing Options Data Object List (PDOL) 处理选项数据对象列表,后面在应用初始化中由终端根据这个列表组织好数据下发到卡片
9F 7A 01 9F 02 06 5F 2A 02
[5F2D_1] Language Preference
7A 68
[BF0C] File Control Information(FCI) Issuer Discretionary Data
9F 4D 02 0B 0A
注意,目前PBOC3.0删除了终端对DDF的支持并且要求IC卡不使用DDF,但并不意味着不支持选择PSE/PPSE,但很多终端如果存够多的AID数据的话,直接使用select Aid的方式。
相关文章推荐
- PBOC借贷记交易流程与命令解析(一)
- EMV交易流程--应用选择
- 深度解析容器化技术在广发证券交易系统的应用
- PBOC/EMV-交易流程详解--POS与卡片的数据交互进行分析
- android源码解析之(十一)-->应用进程启动流程
- linux应用之test命令详细解析
- uboot 命令解析流程简析
- 详细解析Linux scp命令的应用
- PBOCEMV交易流程详解-POS与卡片的数据交互进行分析
- 深度解析容器化技术在广发证券交易系统的应用
- 详细解析Linux scp命令的应用
- 详细解析Linux scp命令的应用
- Maven 各命令执行流程解析和说明
- 解析C#中断言与异常的应用方式及异常处理的流程控制
- 详细解析Linux scp命令的应用
- Linux 系统应用编程——网络编程(常用命令解析)
- 详细解析Linux scp命令的应用
- apt命令应用全解析
- uboot源码分析(1)uboot 命令解析流程简析
- 【PBOC卡片交易日志分析】流程