分类: 嵌入式
2012-12-13 18:09:24
第二步, 应用初始化. 命令是GPO, 参数就是前一步根据PDOL所组的数据包. 该步表示终端通知卡片交易开始了. 卡片会返回AIP和AFL两个数据
AIP告诉终端卡片支持的功能, 比如卡片是否支持脱机数据认证, 是否支持发卡行认证等
AFL是要告诉终端, 如果要完成这笔交易,你终端该从卡上读什么数据。AFL里就包含了这些数据的位置和名称. 举个例子,这些数据可能有当前的交易序号,该张卡片的卡号(PBOC里叫PAN,应用主帐号)等.
获取处理选项(GPO) 通知卡片交易开始。根据PDOL选项进行组包。
GPO指令的发送 80 a8 00 00 xx(长度) 83(PDOL标签)xx(PDOL长度)xx xx(数据)
a8############################################
[IC LEN : 19]
[80] [a8] [00] [00] [0d]
[83] [0b]
[01] [56]
[01]
[00] [00] [00] [00] [00] [09]
[01] [56]
[00] SELECT SEND END ss
#######################################################
#######################################################
[GET LEN : 18]
[80] [0e]
[58] [00]
[08] [01] [01] [00]
[10] [01] [04] [01]
[18] [01] [03] [00]
[90] [00] SELECT GET END ss
#######################################################
GPO的响应格式包括: 80 xx(长度) xx(应用交互特征) xx(AFL)
如上,应用交互特征为: 58 00
解析:
bit8:RFU;
bit7:1=支持SDA;
bit6:1=支持DDA;
bit5:1=支持持卡人认证
bit4:执行终端风险管理
bit3:支持发卡行认证
bit2:RFU
bit1:1=支持CDA
字节2:RFU
AFL(应用文件定位器),每个AFL包括4个字节
字节1:bit8-bit4:SFI(短文件标识符)
bit3-bit1:000
字节2:文件中要读的第1个记录的记录号(不能为0)
字节3:文件中要读的最后一个记录的记录号(大于或等于字节2)
字节4:从字节2的记录好开始,用于静态数据记录的个数(从0开始,不大于(字节3)-(字节2)+1)
参考代码: PBOC2.0.tar.zip (仅供参考)