银联IC卡读卡流程详解--读卡器与卡交互指令

       最近因研究了下银联借记/贷记应用卡片规范,发现网上可参考资源较少,于是萌生了写下这篇文字的想法,希望可以帮助到有需要的兄弟姐妹,有描述不清晰或者有错误的地方欢迎指正。

       下面进入正题,测试使用的卡是招商银行的IC卡:

(一)应用选择

        一张银联IC卡里面可能有多个应用,所谓应用就是卡片和终端之间的应用协议和相关的数据集,读卡器和卡的交互其实就是和应用的交互,卡的交易其实就是选择某个应用做交易。但目前卡商所生产的卡基本上都是一个应用,即便如此,但根据银联的规范,应用选择这个步骤也是必不可少的。

       (1)首先是选择PSE文件1PAY.SYS.DDF01 ,使用的命令是select命令,这个命令的详解在JR/T 0025.5的附录B中有详细的介绍。

       此处请求命令报文如下:00A404000E315041592E5359532E4444463031

       卡片会返回:6F1E840E315041592E5359532E4444463031A50C5F2D027A689F1101018801019000

       此处返回的结果是严格按照TLV格式来的,解析TLV格式的源程序我会在后续的文章中给出。此处解析出来的数据如下:

          6F:FCI模板 
       84:DF名称 
       A5:FCI专用模板
       88:目录基本文件的SFI (高三位为0,后面补100,进行读取文件数据)
       5F2D:首选语言
       9F11:发卡行代码表索引
       BF0C:发卡行自定义数据--(该卡没有带此数据)


       FCI(文件控制信息)包含FCI(短文件标识符),目录中的每个应用列出一个应用。

      (2)会根据SFI 进行读记录,此处SFI为01,根据read record的规范,p2的高5位为SFI,低三位为100,故p2的值为0x0C。

        此处请求命令报文为:00B2010C00

        卡片返回:702861264F08A000000333010101500A50424F432044454249549F120A50424F432044454249548701019000

         此处的返回结果也是按照TLV格式来编码的,解析后为:

         4F : A000000333010101        应用标识符(AID)

         50:50424F43204445424954    应用标签

      

你可能感兴趣的:(PBOC/EMV,银联,PBOC,读卡器,IC卡,IC卡读卡)