EMV规范(四)——读应用数据

来源:互联网 发布:java 重载的意义 编辑:程序博客网 时间:2024/04/27 12:50

读应用数据的目的是为了从卡片中获取后续交易需要的数据。例如,在脱机数据认证时,需要的认证数据,等。步骤:根据应用初始化时,由GPO命令返回的卡片数据中的AFL,来读取卡片数据。

一. AFL:Application File Locator

二. 所用到的命令为 Read Record

终端发送的命令格式为:  Record number:记录号

 

卡片回复的数据格式为:

 

三. 例子

T:表示终端发送的命令
C:表示卡片返回的数据
红色为tag,黑色为长度,紫色为value

 

假设由上一步从卡片中得到的数据的AFL为: 08 01 01 00 10 01 02 01

1.首先分析AFL:

由上面的数据可以知道有两个AFL entry,分别是 08 01 01 00 和 10 01 02 01

第一条: 08 01 01 00

第一个字节08:可以知道SFI 为01; 第二个字节为01,表示开始读记录号为01; 第三个字节表示最后读的记录号为01,所以SFI 为01时,只读一条记录,记录号为 01; 第四个字节为 00:表示SFI为01时,没有需要参与到脱机数据认证的数据。

第二条: 10 01 02 01

第一个字节10:SFI为02; 第二个字节为01,第三个字节为02,可知SFI为02时,需要读两条记录 01 和02; 第四个字节为01:表示参与到脱机数据认证的有1条记录,就是SFI为02,记录号为01。

2. 根据AFL发送读记录命令

发送第1条命令:SFI为01,记录号为01

T : 00 B2 01 0C 00

C : 70 25 9F 61 01 20 9F 62 01 00 5F 20 1A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 90 00

分析卡片返回数据:

70 259F 61 01 20 9F 62 01 005F 20 1A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2090 00

90 00:表示卡片返回数据成功。

第2条命令:SFI为02,记录号为01

终端发送的第二条读记录命令为:00 B2 01 14 00

第3条命令:SFI为02,记录号为02

终端发送的第二条读记录命令为:00 B2 02 14 00

 

备注:关于这个例子中的tag代表什么意思,可以参考emv book3中的Annex A部分。emv规范的下载,见我前面的笔记:EMV规范(一)——背景介绍

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 签合同了不想干怎么办 贵港教育小学插班生怎么办 学校宿舍限瓦怎么办 苹果锁屏后wifi断开怎么办 兼职一天不给钱怎么办 五月孩子掉床怎么办 孩子五月份掉床怎么办 郑州怎么办暂住证凭条 郑州居住证凭条怎么办 宿舍虫子咬人怎么办 is语音注册频繁怎么办 苹果id注销了怎么办 网站突然打不开了怎么办 谷歌邮箱打不开怎么办 360借款无力承担怎么办 公司被收购期权怎么办 创业板连续亏损怎么办 国企合并后员工怎么办 资金密码忘记了怎么办? 大华电子秤称重不准怎么办 股票暂停上市散户怎么办 入股公司赔钱了怎么办 家里被虚报脱贫怎么办 技术入股想退股怎么办 想开店没有资金怎么办 想开店资金不够怎么办 要开店没资金怎么办 想开店缺少资金怎么办 刚刚开店没有资金怎么办 有专利没钱投资怎么办 肉牛养殖没资金怎么办 入股分红想撤资怎么办 入股后想退股怎么办 土地使用权到期后怎么办 员工辞职扣工资怎么办 公司老板要跑路不发工资怎么办 撤销撤多了怎么办 中葡股份跌停怎么办 厕所里有蟑螂怎么办 机票生日写错怎么办 户口出生地错了怎么办