EMV规范(四)——读应用数据
读应用数据的目的是为了从卡片中获取后续交易需要的数据。例如,在脱机数据认证时,需要的认证数据,等。步骤:根据应用初始化时,由GPO命令返回的卡片数据中的AFL,来读取卡片数据。
一. AFL:Application File Locator
二. 所用到的命令为 Read Record
终端发送的命令格式为: Record number:记录号
卡片回复的数据格式为:
三. 例子
假设由上一步从卡片中得到的数据的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 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
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规范(一)——背景介绍
EMV规范(四)——读应用数据相关推荐
- EMV规范学习与研究(四)——读应用数据
读应用数据的目的是为了从卡片中获取后续交易需要的数据,用以完成交易中的各种功能. 终端使用读记录命令(READ RECORD)读出在应用文件定位器(AFL)中标记的文件与记录,并在读记录命令中使用SF ...
- EMV技术学习和研究(三)应用初始化读应用数据
转载请注明出处 作者:小旭 借贷记和Qpboc在应用初始化和读应用数据方面的流程还是比较相似. 先看借贷记和电子现金的处理流程 应用选择完成后,终端获取到了PDOL数据(特别说明:这个不是必须的,卡片 ...
- 共享锁、排他锁、互斥锁、悲观锁、乐观锁、行锁、表锁、页面锁、不可重复读、丢失修改、读脏数据...
作者:T-Birds blog.csdn.net/weixin_36634753/article/details/90815755 共享锁(S锁): 又称为读锁,可以查看但无法修改和删除的一种数据锁. ...
- EMV规范(一)——背景介绍
一.EMV组织介绍 EMV标准是由国际三大银行卡组织--Europay(欧陆卡,已被万事达收购).MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标 ...
- EMV规范(七)——持卡人验证(CVM)一
此部分笔记是来源EMV Book3中的10.5 Cardholder Verification节,可以结合此篇笔记来阅读. 终于到CVM这章了,持卡人验证是非常非常重要的章节,反正我的leader是这 ...
- EMV规范(三)——应用初始化
一.应用初始化的目的: ①通知卡片新交易开始 ②将交易所需的数据发送给卡片 ③从卡片上返回AIP和AFL ④决定交易是否被允许执行 二.应用初始化步骤: ①设置TVR和TSI中所有位为0 ②根据应用选 ...
- 史上最全的长读长数据校错方法大比拼
A comparative evaluation of hybrid error correction methods for error-prone long reads ...
- HBase性能优化方法总结(四):数据计算
本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法.有关HBase系统配置级别的优化,可参考:淘宝Ken Wu同学的博客. 下面是本文总结的第四部分内容:数据计算相关的优化方法 ...
- 实践数据湖iceberg 第三十四课 基于数据湖icerberg的流批一体架构-流架构测试
系列文章目录 实践数据湖iceberg 第一课 入门 实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式 实践数据湖iceberg 第三课 在sqlclient中,以sql ...
最新文章
- 交互式多模型_DeepFaceLab824版 Avatar换头模型尝鲜!
- ubuntu安装chrome浏览器
- pywebio 之词云图
- 软件详细设计说明书_校导周绪龙|软件测试第五篇——软件测试的底层思维
- office2013打不开文件
- dojo 九 effects dojo/_base/fx 和 dojo/fx
- python基础课程7(看代码看注释)--matplotlib作图
- 项目助理这个工作怎么样_影楼化妆师这个工作怎么样?
- JavaScript 基础(三) - Date对象,RegExp对象,Math对象,Window 对象,History 对象,Location 对象,DOM 节点...
- redis的配置文件解释
- 在密码输入框内按回车就登陆的功能
- Windows 资源保护找到了损坏文件,但其中有一些文件无法修复
- SQL注入实战 绕WTS-WAF
- 第5章-LC3, latency and QoS
- 表格提示html内容消失,如何解决Word里面的表格插入题注后页面上内容消失、无法编辑的问题...
- Lombok的@Data注解自动重写equals
- Holder不等式的证明
- NFC学习笔记(2)——NFC基础知识
- 赛宁网安“网络安全卓越中心”:立足科技创新 推动网安产业高质量发展
- c# listview控件上移下移功能函数