非接环境(PPSE)和接触环境(PSE)的FCI有什么区别
来源:互联网 发布:mac dashboard插件 编辑:程序博客网 时间:2024/06/07 07:55
转载请注明出处
http://blog.csdn.net/pony_maggie/article/details/43169617
作者:小马
产生区别的原因在于非接环境做交易有可能走快速支付的流程,为了减少交易时间就必须要优化指令流。有人可能会有疑问,如果是走非接PBOC,PPSE的FCI是否就可以和PSE一样了?答案是否定的,因为在选择PPSE阶段,卡片并不知道这笔交易后面会走借贷记还是快速支付。
首先,PPSE环境的交易不再支持选择方法建立AID列表,因为这种轮询的查找方式确实非常耗时间。
对于目录选择方法,PSE的FCI, TAG 88是肯定要有的,因为卡片必须要支持目录选择方法,即使88指定的文件记录里没有AID, tag88这个项也是一定要有的。Tag 84和tag A5就不必多说了。所以一个基本的PSE的FCI大概是这样的:
6F 1E 84 0E 31 50 41 59 2E 53 59 53 2E 4444 46 30 31 A5 0C 88 01 01 5F 2D 02 7A 68 9F 11 01 01
解析如下:
Tag BF0C和9F11是可选的,一般都有。
接触环境的流程是,终端读到tag 88中的SFI,然后读该SFI中的所有记录,直到返回非9000,非过程字的状态码。读到的记录中的AID和终端里保存的去匹配,最终建立一个候选列表。
非接界面,为了达到时间要求,ppse的FCI不要用88这个tag, 而是直接通过tag4F(包含在tag 61),直接到FCI中指明支持的AID.如果卡片支持多个应用,就有多个61的结构。规范一般建议只有一个应用。在多个应用的情况下,也可以用优先级指示器(tag 87)要指明优先顺序,这样才能在快速支付时选择一个优先级最高的直接执行。快速支付的原则之一是不能提示多应用供持卡人选择,一定要缺省选择一个。
所以对于非接交易,无论是走非接借贷记还是快速支付,读记录找AID的这个步骤就没有了,这是要特别注意的。给出一个快速支付下环境FCI的示例:
6F30840E325041592E5359532E4444463031A51EBF0C1B61194F08A000000333010101500A50424F43204445424954870101
解析图:
- 非接环境(PPSE)和接触环境(PSE)的FCI有什么区别
- 非接触式智能卡IC卡和ID卡有什么区别?
- PHPWAMP好吗?phpwamp怎么用?PHPWAMP和其他集成环境有什么区别吗??
- Java静态对象和非静态对象有什么区别??
- Java静态对象和非静态对象有什么区别??
- Java静态对象和非静态对象有什么区别??
- 使用Socket时的阻塞工作方式和非阻塞工作方式有什么区别
- .bash_profile和.bashrc的什么区别,linux的几个环境配置文件的区别
- int与long 两种数据类型有什么区别?|__int64固定大小为8字节,不受运行环境(的CPU和操作系统位数)影响
- 上海和北京环境各有什么特色?
- match_parent和fill_parent的有什么区别?
- OkHttp和Volley的有什么区别?
- OkHttp和Volley的有什么区别?
- OkHttp和Volley的有什么区别
- cookie和session的有什么区别
- x86的pae, pse和x86-64
- /和../和~/有什么区别
- /和../和~/有什么区别?
- a different object with the same identifier value was already associated with the session异常解决办法
- 自定义android控件
- mfc 一个关于子窗口相互覆盖下的消息响应的问题
- NYOJ 633 弟弟的作业【字符串处理】
- Vmware+gdb调试Linux内核——工欲善其事,必先利其器
- 非接环境(PPSE)和接触环境(PSE)的FCI有什么区别
- String一些函数的用法
- maven jboss 插件配置
- uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结
- property-ref to unmapped class: com.xnjd.hynm.model.Polling
- Java: instanceOf vs getClass
- 正则表达式 perl
- varnish cli exploit
- 黑马程序员-IOS学习笔记-C语言基础循环结构