您的位置:首页 > 其它

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的方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: