一种nfc设备进行智能卡应用检测方法和系统的制作方法
【技术领域】
[0001]本发明涉及检测技术领域,尤指一种近场通信(NFC,Near Field Communicat1n)设备进行智能卡应用检测方法和系统。
【背景技术】
[0002]NFC是由非接触式射频识别及互联互通技术整合演变而来,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。
[0003]随着手机NFC的普及,越来越多的应用场景中需要NFC设备和智能卡进行交互,虽然NFC设备和智能卡均遵循IS014443规范,但是读卡器和卡片的兼容性一直是困扰卡片和读卡器生产商的一个巨大问题。现在市场上没有专门测试手机NFC和智能卡兼容性的工具,手机厂商对于手机NFC和智能卡的兼容性问题也不是非常关注,导致现在市场上手机NFC与卡片交互性较差,时常出现手机NFC和卡片交互失败的情况。为了解决手机NFC和卡片的兼容性问题,亟待开发一款能够测试NFC设备和智能卡交互过程中兼容性问题的方法及工具。
【发明内容】
[0004]为了解决上述技术问题,本发明提供了一种NFC设备进行智能卡应用检测方法和系统,能够测试NFC设备和智能卡交互过程中兼容性问题。
[0005]为了达到本发明目的,本发明提供了一种NFC设备进行智能卡应用检测方法,包括:近场通信NFC设备接收来自个人电脑PC的应用指令处理单元Apdu指令,并将所述Apdu指令通过NFC方式发送给智能卡;NFC设备判断是否接收智能卡返回的Apdu响应,如果接收到Apdu响应,将所述Apdu响应发送给PC ;如果没有接收到Apdu响应,则确定NFC设备和智能卡不兼容;PC判断Apdu响应是否正确,如果正确,则确定NFC设备和智能卡兼容;如果不正确,则确定NFC设备和智能卡不兼容。
[0006]进一步地,所述方法还包括:PC编写脚本,并通过测试工具将脚本中的Apdu指令发送到NFC设备。
[0007]进一步地,将所述Apdu指令通过NFC方式发送给智能卡,具体为:通过读写NFC设备中的NFC模块的应用程序编程接口 API将Apdu指令发送给智能卡。
[0008]进一步地,所述PC判断Apdu响应是否正确,具体为:根据Apdu响应的状态字sw是否为设定值来判断Apdu响应是否正确,如果是设定值,则Apdu响应正确;如果不是设定值,则Apdu响应错误。
[0009]本发明还提供了一种NFC设备进行智能卡应用检测系统,包括:近场通信NFC设备,和NFC设备连接的个人电脑PC,以及安装在NFC设备中的智能卡,其中,PC,用于向NFC设备发送Apdu指令;NFC设备,用于接收来自PC的Apdu指令,并将所述Apdu指令通过NFC方式发送给智能卡;判断是否接收智能卡返回的Apdu响应,如果接收到Apdu响应,将所述Apdu响应发送给PC ;如果没有接收到Apdu响应,则确定NFC设备和智能卡不兼容;所述PC,还用于判断Apdu响应是否正确,如果正确,则确定NFC设备和智能卡兼容;如果不正确,则确定NFC设备和智能卡不兼容。
[0010]与现有技术相比,本发明能够测试NFC设备和智能卡交互过程中兼容性问题,解决了现在市场上NFC手机与智能卡交互性较差,时常出现NFC手机和智能卡交互失败的情况。
[0011]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0012]附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0013]图1是本发明的一种实施例中NFC设备进行智能卡应用检测系统的架构示意图。
[0014]图2是本发明的一种实施例中NFC设备进行智能卡应用检测方法的流程示意图。
[0015]图3是基于图2的NFC设备进行智能卡应用检测方法的具体流程示意图。
【具体实施方式】
[0016]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0017]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0018]图1是本发明的一种实施例中NFC设备进行智能卡应用检测系统的架构示意图。如图1所示,NFC设备和个人电脑(PC)连接,智能卡安装在NFC设备并和NFC设备进行信息交互。其中NFC设备通过USB和PC连接,也可以使用WIF1、蓝牙和PC连接。
[0019]图2是本发明的一种实施例中NFC设备进行智能卡应用检测方法的流程示意图。基于图1的系统,如图2所示,本发明的方法包括:
[0020]步骤201,NFC设备接收来自PC的应用指令处理单元(Apdu,Applicat1nProtocol Data Unit)指令,并将该Apdu指令通过NFC方式发送给智能卡。
[0021]在本步骤之前,通过Android软件开发工具包(SDK,Software Development Kit)中的Android调试桥(ADB,Android Debug Bridge)建立网络端口映射,其中ADB是一个客户端-服务器端程序,客户端是PC,服务器端是android设备。如此,NFC设备能够通过USB和PC里连接并进行网络通信,实现NFC设备和PC机之间Apdu指令的相互发送,其中Apdu指令有很多,基本囊括在PBOC规范中,常见的有读写文件、各类交易指令和卡片认证类指令。
[0022]在本步骤中,PC机编写脚本,并通过测试工具将脚本中的Apdu指令发送到NFC设备。NFC设备将接收到的Apdu指令通过NFC方式发送给智能卡,例如,具有NFC模块的Android手机,通过编写Android手机应用的方式调用Android提供读写NFC模块的应用程序编程接口(API,Applicat1n Programming Interface)进行发送 Apdu 指令。
[0023]步骤202,NFC设备判断是否接收智能卡返回的Apdu响应,如果是,进入步骤203 ;如果否,则确定NFC设备和智能卡不兼容。
[0024]步骤203,NFC设备将Apdu响应发送给PC。
[0025]在本步骤中,通过读写NFC模块的API将Apdu响应发送给PC,其中Apdu响应与Apdu指令类型有关,例如如果为读文件类的Apdu指令,则该Apdu响应相应为文件内容;如果为认证类的Apdu指令,则该Apdu响应相应为认证成功或者认证失败。
[0026]步骤204,PC判断Apdu响应是否正确,如果正确,则确定NFC设备和智能卡兼容;如果不正确,则确定NFC设备和智能卡不兼容。
[0027]在本步骤中,根据IS07816标准,一般认为Apdu响应的状态字(sw)如果为设定值,例如9000,则为执行成功,否则为失败。
[0028]图3是基于图2的NFC设备进行智能卡应用检测方法的具体流程示意