CN101425120A - 读卡器及其执行方法 - Google Patents
读卡器及其执行方法 Download PDFInfo
- Publication number
- CN101425120A CN101425120A CNA2008102269977A CN200810226997A CN101425120A CN 101425120 A CN101425120 A CN 101425120A CN A2008102269977 A CNA2008102269977 A CN A2008102269977A CN 200810226997 A CN200810226997 A CN 200810226997A CN 101425120 A CN101425120 A CN 101425120A
- Authority
- CN
- China
- Prior art keywords
- card reader
- operational order
- function
- service function
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明实施例公开了一种读卡器及其执行方法,涉及IC卡领域,解决了现有技术中不方便为读卡器增加特殊功能的问题。本发明读卡器中存储有服务函数,其执行方法包括:接收操作指令;分析所述操作指令的类型;若所述操作指令为调用服务函数的操作指令,则调用所述操作指令对应的服务函数。本发明读卡器包括:存储模块,用于存储服务函数;接收模块,用于接收操作指令;分析模块,用于分析所述操作指令的类型;调用模块,用于在所述操作指令为调用服务函数的操作指令时,调用所述操作指令对应的服务函数。本发明实施例主要用在各种IC卡的读卡器中。
Description
技术领域
本发明涉及IC卡领域,尤其涉及对IC卡进行信息读取或交互的读卡器、以及读卡器的执行方法。
背景技术
IC卡(集成电路卡)通常可分为存储卡、加密卡和智能卡三类,目前已广泛应用于银行、门禁、公交、计算机系统、通讯、安全等领域,并且IC卡与人们社会生活的联系也日益紧密,使得人们对IC卡的需求和要求越来越高。
用户在使用IC卡时,将IC卡插入相应读卡器的插槽内,读卡器读取IC卡中的信息或者与所述IC卡进行交互,并将读取到的或交互后的信息发送给与该读卡器相连的计算机设备。
对于IC卡中的智能卡,与读卡器相连的计算机设备(智能卡操作机)可以通过读卡器向智能卡发送指令,以提取智能卡中的特定信息;或者智能卡操作机通过读卡器向智能卡发送指令,以要求智能卡按照该指令执行相应的操作,并将操作结果通过读卡器返回给智能卡操作机。
在IC卡的运用过程中,发明人发现现有技术中至少存在如下问题:
在现有技术中的读卡器的都是只有固定的基本功能,有的情况下,IC卡的用户可能需要增加一些读卡器的特殊功能,以便读卡器能够对相应的IC卡进行除基本的信息读取或交互以外的操作。例如:一般的购电卡的读卡器只需要实现将电量输入到购电卡中,但是为了能够纠正因失误造成的电量输入错误,需要增加读卡器的修改购电卡中电量的功能,或者增加读卡器的删除购电卡中电量的功能。
现有技术中的读卡器要增加特殊功能只能对读卡器进行重新设计,在重新设计的读卡器中添加相应的特殊功能,这种方式需要较长的设计周期,不方便读卡器的用户使用。
发明内容
本发明的提供一种读卡器及其执行方法,不需要重新设计读卡器就可以较方便地为读卡器增加特殊功能。
为达到上述目的,本发明采用如下技术方案:
一种读卡器的执行方法,该读卡器中存储有服务函数,该方法包括:
接收操作指令;
分析所述操作指令的类型;
若所述操作指令为调用服务函数的操作指令,则调用所述操作指令对应的服务函数。
一种读卡器,包括:
存储模块,用于存储服务函数;
接收模块,用于接收操作指令;
分析模块,用于分析所述操作指令的类型;
调用模块,用于在所述操作指令为调用服务函数的操作指令时,调用所述操作指令对应的服务函数。
本发明提供的读卡器及其执行方法,由于读卡器中存储了服务函数,读卡器在接收到操作指令后,能够根据操作指令类型的不同来调用对应的服务函数,而所述的服务函数能够完成一些除了读卡器基本功能以外的特殊功能。故而,在为读卡器增加特殊功能的时候,本发明提供的读卡器及其执行方法不需要重新设计读卡器,只需要调用读卡器内部的服务函数即可完成。
一般情况下,需要增加的特殊功能可能较为复杂,并不是一个服务函数就可以完成的,这时,可以编写一个程序,而这个程序只需要按照一定的规则调用该读卡器中的不同服务函数,来组合完成这个较为复杂的特殊功能。
所以,使用本发明提供的读卡器及其执行方法,在为读卡器增加特殊功能时,省去了对读卡器重新设计的过程,节约了重新设计读卡器的设计周期,方便了读卡器用户的使用读卡器以及对读卡器的二次开发。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中读卡器的执行方法的流程图;
图2为本发明实施例2中读卡器的执行方法的流程图;
图3为本发明实施例3中读卡器的执行方法的流程图;
图4为本发明实施例4中读卡器的原理图。
具体实施方式
本发明实施例提供一种读卡器及其执行方法,在该读卡器中存储有服务函数,读卡器根据接收到的指令进行相应的操作,该执行方法的具体过程为:在接收到操作指令之后,分析操作指令的类型;如果操作指令为调用服务函数的操作指令,则调用该操作指令对应的服务函数。
该读卡器通过如下模块实现上述的执行方法:存储模块、接收模块、分析模块和调用模块。其中,存储模块用于存储服务函数;接收模块用于接收操作指令;分析模块用于分析操作指令的类型;调用模块用于在该操作指令为调用服务函数的操作指令时,调用该操作指令对应的服务函数。
上述的服务函数用来完成出读卡器基本功能以外的特殊功能,若读卡器的用户需要增加一些特殊功能,只需要调用读卡器中相应的服务函数,或者按照移动规则调用该读卡器中的不同服务函数,来组合完成特殊功能。
上述的操作指令一般是通过操作该读卡器的上位机软件发送的,本实施例中上位机软件安装在智能卡操作机(与读卡器相连的计算机设备)中,或者上位机软件直接安装在读卡器中。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本实施例中以操作指令为调用密钥下载服务函数的指令为例,对本发明实施例中读卡器的执行方法进行说明;并且,本实施例中的读卡器通过USB接口与计算机(智能卡操作机)连接。
其中,本实施例中读卡器的USB接口是基于CCID(Integrated Circuit(s)Card Interface Devices,集成电路卡接口设备)协议设计的,CCID定义了实现USB smard Card的标准,并且现有的计算机操作系统已经对该标准进行了支持,说所以,基于CCID协议设计的USB接口的读卡器不需要重新设计驱动,只需要调用计算机操作系统中相应的驱动即可。
在设计本发明实施例中的读卡器时,将各种函数写入读卡器内部的flash(闪存)芯片中;写入读卡器内部flash芯片中的函数可以分为两类:一类是完成读卡器基本功能(如读卡器的自身运行、读卡器与IC卡进行交互操作)所需的功能函数,另一类是读卡器的开发者在开发读卡器的固件程序时额外编写的服务函数,该服务函数能够完成除读卡器基本功能以外的特殊功能,本实施例中所用的密钥下载服务函数就是其中之一。
在对读卡器进行操作之前,需要将读卡器与计算机通过USB接口连接好,以便读卡器和计算机进行数据或指令的传输。如图1所示,对读卡器进行操作时,读卡器具体的执行方法如下:
101、用户通过计算机中的上位机软件调用操作系统提供的API(应用程序接口)函数PC_to_RDR_XfrBlock;
102、用户利用计算机中的上位机软件将操作指令发送给接口函数PC_to_RDR_XfrBlock,并且该操作指令是一个APDU(应用协议数据单元)指令,其格式为:APDU指令头+APDU指令参数+APDU指令数据。在本实施例中,密钥下载服务函数的APDU指令头为cfca0000+LENGTH,APDU指令参数为1001,APDU指令数据为密钥,该密钥下载服务函数的APDU指令表示如下:
cfca00001210011a2b3c4d5e6f778888776f5e4d3c2b1a;
其中,APDU指令的前5个字节cfca000012为APDU指令头,表示该指令为调用服务函数的特殊APDU指令,并且,第5字节0 x 12是用于指定数据长度,即:指令类别的长度和指令数据的长度的总和,第6和第7字节0 x 10、0 x 01用来指明该指令是密钥下载服务函数,后面的指令数据即为欲下载到读卡器的密钥;
103、由于计算机和读卡器之间的USB接口是按照CCID协议设计的,所以,本实施例中上位机软件向读卡器发送的操作指令是一个按照CCID协议封装后的操作指令。所以,本步骤中,接口函数PC_to_RDR_XfrBlock将该APDU指令按照CCID协议进行封装,具体封装后的APDU指令表示如下:
6f180000000025000000000017cfca00001210011a2b3c4d5e6f778888776f5e4d3c2b1a10;
104、通过接口函数PC_to_RDR_XfrBlock将封装成CCID格式的APDU指令发送给读卡器;
105、读卡器接收封装成CCID格式的APDU指令,并且读卡器可以根据CCID协议将接收到的指令进行解封装,得到其中的APDU指令,即:
cfca00001210011a2b3c4d5e6f778888776f5e4d3c2b1a;
106、读卡器根据解析得到的APDU指令的指令头进行分析,以分析出该APDU指令的类型,如果上述APDU指令为调用功能函数的操作指令,则执行步骤107;如果上述APDU指令为调用服务函数的操作指令,则按照调用服务函数的流程执行,具体对于本实施例而言,由于APDU指令头可以分析出该APDU指令为调用服务函数的操作指令,并且是调用密钥下载服务函数的特殊APDU指令,故而执行步骤108;
107、读卡器调用功能函数,以完成读卡器自身的运行、以及读卡器和IC卡进行交互操作,并由功能函数返回操作后得到信息,并执行步骤111;
108、读卡器调用并执行密钥下载服务函数。密钥下载服务函数执行时,首先判断密钥数据长度是否是16字节,若密钥数据长度不是16字节,则执行步骤109,若密钥数据长度是16字节,则执行步骤110;
本实施例中的密钥数据长度就是APDU指令中的APDU指令数据,相当于本实施例中的下载密钥服务函数需要用到APDU指令中的数据参数。
所以,如果操作指令中包括数据参数,在本实施例中操作指令为调用服务函数的操作指令时,需要将上述操作指令中的数据参数对应赋给调用的服务函数,以便服务函数能够完成相应的操作。
109、密钥下载服务函数返回6700,退出对密钥下载服务函数,并执行步骤111;
110、密钥下载服务函数将密钥存储在读卡器的存储器中,同时密钥下载服务函数返回9000,退出对密钥下载服务函数,并执行步骤111;
111、上述过程107、109和110中相应函数均返回有信息,本过程中读卡器将功能函数或密钥下载服务函数返回的信息按照CCID协议进行封装,并将封装后的信息发送给计算机,以便计算机中的上位机软件能够进行相应处理。
本实施例提供的读卡器及其执行方法,由于读卡器中存储了服务函数,读卡器在接收到操作指令后,能够根据操作指令类型的不同来调用对应的服务函数,而本实施例中的服务函数能够完成一些除了读卡器基本功能以外的特殊功能。故而,在为读卡器增加特殊功能的时候,本发明提供的读卡器及其执行方法不需要重新设计读卡器,只需要调用读卡器内部的服务函数即可完成;对于较为复杂的特殊功能,可以编写一个按照一定的规则调用该读卡器中不同服务函数的程序,来组合完成这个较为复杂的特殊功能。
所以,本实施例提供的读卡器及其执行方法要为读卡器增加特殊功能时,省去了对读卡器重新设计的过程,节约了重新设计读卡器的设计周期,方便了读卡器用户的使用读卡器以及对读卡器的二次开发。
实施例2:
本实施例中以操作指令为调用3DES(数据加密标准)加密服务函数的指令为例,对本发明实施例中读卡器的执行方法进行说明;并且,本实施例中的读卡器通过USB接口与计算机(智能卡操作机)连接。
其中,本实施例中读卡器的USB接口是基于CCID(Integrated Circuit(s)Card Interface Devices,集成电路卡接口设备)协议设计的,CCID定义了实现USB smard Card的标准,并且现有的计算机操作系统已经对该标准进行了支持,说所以,基于CCID协议设计的USB接口的读卡器不需要重新设计驱动,只需要调用计算机操作系统中相应的驱动即可。
在设计本发明实施例中的读卡器时,将各种函数写入读卡器内部的flash(闪存)芯片中;写入读卡器内部flash芯片中的函数可以分为两类:一类是完成读卡器基本功能(如读卡器的自身运行、读卡器与IC卡进行交互操作)所需的功能函数,另一类是读卡器的开发者在开发读卡器的固件程序时额外编写的服务函数,该服务函数能够完成除读卡器基本功能以外的特殊功能,本实施例中所用的3DES加密服务函数就是其中之一。
在对读卡器进行操作之前,需要将读卡器与计算机通过USB接口连接好,以便读卡器和计算机进行数据或指令的传输。如图2所示,对读卡器进行操作时,读卡器具体的执行方法如下:
201、用户通过计算机中的上位机软件调用操作系统提供的API(应用程序接口)函数PC_to_RDR_XfrBlock;
202、用户利用计算机中的上位机软件将操作指令发送给接口函数PC_to_RDR_XfrBlock,并且该操作指令是一个APDU(应用协议数据单元)指令,其格式为:APDU指令头+APDU指令参数+APDU指令数据;
在本实施例中,3DES加密服务函数的APDU指令头为cfca0000+LENGTH,APDU指令参数为2003,APDU指令数据为3DES加密数据,该3DES加密服务函数的APDU指令表示为:cfca00000a20031a2b3c4d5e6f7081。
其中,前5个字节cfca00000a为APDU指令头,表示该指令为调用服务函数的特殊APDU指令,其中第5字节0 x 0a是用于指定数据长度,即:指令类别的长度和指令数据的长度的总和,第6和第7字节0 x 20、0 x 03用来指明该指令是3DES加密服务函数,后面的指令数据1a2b3c4d5e6f7081为3DES加密数据。
203、由于计算机和读卡器之间的USB接口是按照CCID协议设计的,所以,本实施例中上位机软件向读卡器发送的操作指令是一个按照CCID协议封装后的操作指令。所以,本步骤中,接口函数PC_to_RDR_XfrBlock将上述APDU指令按照CCID协议进行封装,具体封装后的APDU指令表示如下:
6f13000000002600000000000fcfca00000a20031a2b3c4d5e6f7081a3;
204、通过接口函数PC_to_RDR_XfrBlock将封装成CCID格式的APDU指令发送给读卡器;
205、读卡器接收封装成CCID格式的APDU指令,并且读卡器可以根据CCID协议将接收到的指令进行解封装,得到其中的APDU指令,即:
cfca00000a20031a2b3c4d5e6f7081;
206、读卡器根据解析得到的APDU指令的指令头进行分析,以分析出该APDU指令的类型,如果上述APDU指令为调用功能函数的操作指令,则执行步骤207;如果上述APDU指令为调用服务函数的操作指令,则按照调用服务函数的流程执行,具体对于本实施例而言,由于APDU指令头可以分析出该APDU指令为调用服务函数的操作指令,并且是调用3DES加密服务函数的特殊APDU指令,故而执行步骤208;
207、读卡器调用功能函数,以完成读卡器自身的运行、以及读卡器和IC卡进行交互操作,并由功能函数返回操作后得到信息,并执行步骤211;
208、读卡器调用并执行3DES加密服务函数,3DES加密服务函数执行时,首先判断加密数据长度是否是8的倍数,若加密数据长度不是8的倍数,则执行步骤209,若加密数据长度是8的倍数,则执行步骤210;
在本实施例中的加密数据长度就是APDU指令中的APDU指令数据,相当于本实施例中的3DES加密服务函数需要用到APDU指令中的数据参数。
所以,如果操作指令中包括数据参数,在本实施例中操作指令为调用服务函数的操作指令时,需要将操作指令中的数据参数对应赋给所调用的服务函数,以便服务函数能够完成相应的操作。
209、3DES加密服务函数返回6700,退出3DES加密服务函数,并执行步骤211;
210、3DES加密服务函数返回经加密后的数据4aded7265b6672f5,退出3DES加密服务函数,并执行步骤211;
211、上述过程207、209和210中相应函数均返回有信息,本过程中读卡器将功能函数密钥下载服务函数返回的信息按照CCID协议进行封装,并将封装后的信息发送给计算机,以便计算机中的上位机软件能够进行相应处理;
本实施例提供的读卡器及其执行方法,由于读卡器中存储了服务函数,读卡器在接收到操作指令后,能够根据操作指令类型的不同来调用对应的服务函数,故而,在为读卡器增加特殊功能的时候,本发明提供的读卡器及其执行方法不需要重新设计读卡器,只需要调用读卡器内部的服务函数即可完成;对于较为复杂的特殊功能,可以编写一个按照一定的规则调用该读卡器中不同服务函数的程序,来组合完成这个较为复杂的特殊功能。
所以,本发明提供的读卡器及其执行方法要为读卡器增加特殊功能时,省去了对读卡器重新设计的过程,节约了重新设计读卡器的设计周期,方便了读卡器用户的使用读卡器以及对读卡器的二次开发。
实施例3:
本实施例中以操作指令为调用3DES(数据加密标准)解密服务函数的指令为例,对本发明实施例中读卡器的执行方法进行说明;并且,本实施例中的读卡器通过USB接口与计算机(智能卡操作机)连接。
其中,本实施例中读卡器的USB接口是基于CCID(Integrated Circuit(s)Card Interface Devices,集成电路卡接口设备)协议设计的,CCID定义了实现USB smard Card的标准,并且现有的计算机操作系统已经对该标准进行了支持,说所以,基于CCID协议设计的USB接口的读卡器不需要重新设计驱动,只需要调用计算机操作系统中相应的驱动即可。
在设计本发明实施例中的读卡器时,将各种函数写入读卡器内部的flash(闪存)芯片中;写入读卡器内部flash芯片中的函数可以分为两类:一类是完成读卡器基本功能(如读卡器的自身运行、读卡器与IC卡进行交互操作)所需的功能函数,另一类是读卡器的开发者在开发读卡器的固件程序时额外编写的服务函数,该服务函数能够完成除读卡器基本功能以外的特殊功能,本实施例中所用的3DES解密服务函数就是其中之一。
同时,由于在执行3DES解密服务函数时,需要执行与3DES解密服务函数相关的脚本数据,所以,本实施例中的读卡器的flash芯片中还存储有脚本数据,在本实施例中,脚本数据是一系列APDU指令的集合。
在对读卡器进行操作之前,需要将读卡器与计算机通过USB接口连接好,以便读卡器和计算机进行数据或指令的传输。如图3所示,对读卡器进行操作时,读卡器具体的执行方法如下:
301、用户通过计算机中的上位机软件调用操作系统提供的API(应用程序接口)函数PC_to_RDR_XfrBlock;
302、用户利用计算机中的上位机软件将操作指令发送给接口函数PC_to_RDR_XfrBlock,并且该操作指令是一个APDU(应用协议数据单元)指令,其格式为:APDU指令头+APDU指令参数+APDU指令数据;
在本实施例中,3DES解密服务函数的APDU指令头为cfca0000+LENGTH,APDU指令参数为2004,APDU指令数据为3DES欲解密数据。
303、由于计算机和读卡器之间的USB接口是按照CCID协议设计的,所以,本实施例中上位机软件向读卡器发送的操作指令是一个按照CCID协议封装后的操作指令。所以,本步骤中,接口函数PC_to_RDR_XfrBlock将上述APDU指令按照CCID协议进行封装;
304、通过接口函数PC_to_RDR_XfrBlock将封装成CCID格式的APDU指令发送给读卡器;
305、读卡器接收封装成CCID格式的APDU指令,并且读卡器可以根据CCID协议将接收到的指令进行解封装,得到其中的APDU指令,即:cfca0000+LENGTH+2004+3DES欲解密数据;
306、读卡器根据解析得到的APDU指令的指令头进行分析,以分析出该APDU指令的类型,如果上述APDU指令为调用功能函数的操作指令,则执行步骤307;如果上述APDU指令为调用服务函数的操作指令,则按照调用服务函数的流程执行,具体对于本实施例而言,由于APDU指令头可以分析出该APDU指令为调用服务函数的操作指令,并且是调用3DES解密服务函数的特殊APDU指令,故而执行步骤308;
307、读卡器调用功能函数,以完成读卡器自身的运行、以及读卡器和IC卡进行交互操作,并由功能函数返回操作后得到信息,并执行步骤315;
308、读卡器调用并执行3DES解密服务函数,在执行3DES解密服务函数时,调用并选择读卡器内部存储的脚本数据中的操作指令,并将所选脚本数据中的操作指令发送给IC卡。本过程中的操作指令包括很多种例如:选择app(application,应用)指令、选择MF(主文件,master file)指令、创建DF(专用文件,dedicatedfile)指令、选择DF指令、创建DES文件指令和DES加密指令;在具体应用时,3DES解密服务函数是依次将上述操作指令发送给IC卡;
309、IC卡执行上述脚本数据的操作指令,并将执行完操作指令后的数据返回给3DES解密服务函数;
310、3DES解密服务函数判断返回的数据是否正确,若不正确,则执行步骤311;若正确,则执行步骤312;
311、3DES解密服务函数返回出错提示的信息,退出本实施例中的3DES解密服务函数,并执行315;
312、判断本次返回的数据是否为解密后的数据,如果是解密后的数据,则执行314;否则执行313;
313、3DES解密服务函数依次将脚本数据中的选择MF指令、创建DF指令、选择DF指令、创建DES文件指令和3DES解密的操作指令发送给IC卡,并且每次发送一个操作指令后返回执行步骤309;
314、3DES解密服务函数返回解密后的数据,退出本实施例中的3DES解密服务函数,并执行315;
315、上述过程307、311和314中相应函数均返回有信息,本过程中读卡器将功能函数密钥下载服务函数返回的信息按照CCID协议进行封装,并将封装后的信息发送给计算机,以便计算机中的上位机软件能够进行相应处理。
本实施例提供的读卡器及其执行方法,由于读卡器中存储了服务函数,读卡器在接收到操作指令后,能够根据操作指令类型的不同来调用对应的服务函数,故而,在为读卡器增加特殊功能的时候,本发明提供的读卡器及其执行方法不需要重新设计读卡器,只需要调用读卡器内部的服务函数即可完成;对于较为复杂的特殊功能,可以编写一个按照一定的规则调用该读卡器中不同服务函数的程序,来组合完成这个较为复杂的特殊功能,从而节约了重新设计读卡器的设计周期,方便了读卡器用户的使用读卡器以及对读卡器的二次开发。
本发明实施例中在读卡器中存储有脚本数据,以便为需要执行脚本数据的操作提供方便。当然,本实施例中也可以不在读卡器中存储脚本数据,而是在需要执行脚本数据时,通过计算机将脚本数据发送到该读卡器,并由读卡器对接收到的脚本数据进行解封装,例如:计算机的上位机软件将脚本数据和APDU指令一起发送到读卡器,或者计算机的上位机软件将脚本数据和APDU指令分别发送到读卡器。
若下次执行服务函数时需要调用相同脚本数据,为了便于该情况下调用相同脚本数据,本实施例读卡器在接收到脚本数据后,还可以将所接收到的脚本数据存储在读卡器中。
实施例4:
本实施例提供一种读卡器,如图4所示,该读卡器包括:存储模块41、接收模块42、解封装模块43、分析模块44和调用模块45。
其中,储模块41用于存储服务函数,为了能够完成读卡器的基本功能,本实施例中的存储模块存41还用于存储完成读卡器基本功能的功能函数;接收模块42用于接收操作指令,一般而言,操作指令为应用协议数据单元指令;对于调用的服务函数需要用到参数的情况,本实施例中的接收模块42接收的操作指令中包括数据参数。
如果该读卡器是与计算机相连的,那么计算机中的上位机软件需要将应用协议数据单元指令(APDU指令)按照集成电路卡接口设备协议封装;所以,本实施例中的解封装模块43用于按照集成电路卡接口设备协议对接收到的操作指令进行解封装,以获取其中的APDU指令。
本实施例中的分析模块44用于分析操作指令的类型,一般而言,本实施例中的分析模块44是根据应用协议数据单元指令中的指令头分析操作指令的类型。
调用模块45用于在上述操作指令为调用服务函数的操作指令时,调用上述操作指令对应的服务函数,并且将上述操作指令中的数据参数对应赋给所调用的服务函数。本实施例中的调用模块45还用于在操作指令为调用功能函数的操作指令时,按照完成读卡器基本功能的方式调用读卡器中的功能函数。
为了能够将功能函数或服务函数返回的数据发送到计算机,以便计算机中的上位机软件进行处理,本实施例中的读卡器还包括封装模块46和发送模块47。其中,封装模块46用于将调用服务函数或调用功能函数得到的数据按照集成电路卡接口设备协议封装;发送模块47用于将调用服务函数或调用功能函数得到的数据发送给上位机软件,并且,发送模块47是将封装后的数据发送上位机软件。
在有的情况下,调用的服务函数可能需要用到脚本数据,例如:通过脚本数据中的操作指令对IC进行操作,所以,本实施例中的读卡器需要能够得到相应的脚本数据,具体可以采用如下两种实现方式:
第一、接收模块42还用于接收脚本数据,在操作指令为调用服务函数的操作指令并执行服务函数时,本实施例中的调用模块45还用于调用接收模块42接收到的与服务函数相关的脚本数据。
若下次执行服务函数时需要调用相同脚本数据,为了便于该情况下调用脚本数据,本实施例中的存储模块41还可以用于存储该接收到的脚本数据。
第二、将与服务函数相关的脚本数据预先存储在读卡器中,则本实施例中的存储模块41还用于存储脚本数据;在操作指令为调用服务函数的操作指令并执行服务函数时,本实施例中的调用模块45还用于调用存储模块41中服务函数相关的脚本数据。
本实施例提供的读卡器,由于读卡器的存储模块中存储了服务函数,读卡器的接收模块在接收到操作指令后,可以通过调用模块能够根据操作指令类型的不同来调用对应的服务函数,故而,在为读卡器增加特殊功能的时候,本发明提供的读卡器及其执行方法不需要重新设计读卡器,只需要调用读卡器内部的服务函数即可完成;对于较为复杂的特殊功能,可以编写一个按照一定的规则调用该读卡器中不同服务函数的程序,来组合完成这个较为复杂的特殊功能,从而节约了重新设计读卡器的设计周期,方便了读卡器用户的使用读卡器以及对读卡器的二次开发。
本发明实施例中在读卡器中存储有脚本数据,以便为需要执行脚本数据的操作提供方便。当然,本实施例中也可以不再读卡器中存储脚本数据,而是在需要执行脚本数据时,通过计算机将脚本数据发送到该读卡器,并由读卡器对接收到的脚本数据进行解封装,例如:计算机的上位机软件将脚本数据和APDU指令一起发送到读卡器,或者计算机的上位机软件将脚本数据和APDU指令分别发送到读卡器。
在具体实现本发明实施例时,读卡器也可以不用连接到计算机,而是将能够对读卡器进行操作的上位机软件直接安装在读卡器中,并通过该上位机软件对读卡器进行相应的操作。当需要增加读卡器的特殊功能或者修改读卡器的特殊功能时,通过修改上位机软件中调用的服务函数,或者修改调用服务函数的规则,即可完成读卡器特殊功能的设计。
本发明实施例主要用在各种IC卡的读卡器中,例如:银行、门禁、公交、计算机系统、通讯、安全等领域的读卡器。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台读卡器执行本发明各个实施例的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (20)
1、一种读卡器的执行方法,其特征在于,该读卡器中存储有服务函数,该方法包括:
接收操作指令;
分析所述操作指令的类型;
若所述操作指令为调用服务函数的操作指令,则调用所述操作指令对应的服务函数。
2、根据权利要求1所述的读卡器的执行方法,其特征在于,该读卡器中还存储有完成读卡器基本功能的功能函数,该方法还包括:
若所述操作指令为调用功能函数的操作指令,则按照完成读卡器基本功能的方式调用读卡器中的功能函数。
3、根据权利要求1所述的读卡器的执行方法,其特征在于,所述操作指令中包括数据参数,在所述操作指令为调用服务函数的操作指令时,将所述操作指令中的数据参数对应赋给所述调用的服务函数。
4、根据权利要求1或3所述的读卡器的执行方法,其特征在于,该方法还包括:
接收脚本数据;
在所述操作指令为调用服务函数的操作指令时,调用所述服务函数相关的脚本数据。
5、根据权利要求4所述的读卡器的执行方法,其特征在于,该方法还包括:
将接收到的脚本数据存储到所述读卡器中。
6、根据权利要求1或3所述的读卡器的执行方法,其特征在于,所述读卡器中存储有脚本数据,该方法还包括:
在所述操作指令为调用服务函数的操作指令时,调用所述服务函数相关的脚本数据。
7、根据权利要求1所述的读卡器的执行方法,其特征在于,所述操作指令为应用协议数据单元指令;所述分析所述操作指令的类型为:根据所述应用协议数据单元指令中的指令头分析所述操作指令的类型。
8、根据权利要求7所述的读卡器的执行方法,其特征在于,所述操作指令为按照集成电路卡接口设备协议封装后的应用协议数据单元指令;在接收上位机软件发送的操作指令后,该方法还包括:
按照集成电路卡接口设备协议对接收到的操作指令进行解封装。
9、根据权利要求1、2或3所述的读卡器的执行方法,其特征在于,该方法还包括:
将调用服务函数或调用功能函数得到的数据发送给上位机软件。
10、根据权利要求9所述的读卡器的执行方法,其特征在于,在将调用服务函数或调用功能函数得到的数据发送给上位机软件之前,该方法还包括:
将调用服务函数或调用功能函数得到的数据按照集成电路卡接口设备协议封装。
11、一种读卡器,其特征在于,包括:
存储模块,用于存储服务函数;
接收模块,用于接收操作指令;
分析模块,用于分析所述操作指令的类型;
调用模块,用于在所述操作指令为调用服务函数的操作指令时,调用所述操作指令对应的服务函数。
12、根据权利要求11所述的读卡器,其特征在于,所述存储模块还用于存储完成读卡器基本功能的功能函数,所述调用模块在所述操作指令为调用功能函数的操作指令时,按照完成读卡器基本功能的方式调用读卡器中的功能函数。
13、根据权利要求11所述的读卡器,其特征在于,所述接收模块接收的操作指令中包括数据参数;所述调用模块还用于在所述操作指令为调用服务函数的操作指令时,将所述操作指令中的数据参数对应赋给所述调用的服务函数。
14、根据权利要求11或13所述的读卡器,其特征在于,所述接收模块还用于接收脚本数据;所述调用模块还用于在所述操作指令为调用服务函数的操作指令时,调用所述服务函数相关的脚本数据。
15、根据权利要求14所述的读卡器,其特征在于,所述存储模块还用于存储所接收到的脚本数据。
16、根据权利要求11或13所述的读卡器,其特征在于,所述存储模块还用于存储脚本数据;所述调用模块还用于在所述操作指令为调用服务函数的操作指令时,调用所述服务函数相关的脚本数据。
17、根据权利要求11所述的读卡器,其特征在于,所述接收模块接收的操作指令为应用协议数据单元指令;所述分析模块根据所述应用协议数据单元指令中的指令头分析所述操作指令的类型。
18、根据权利要求17所述的读卡器,其特征在于,所述接收模块接收的操作指令为按照集成电路卡接口设备协议封装后的应用协议数据单元指令;该读卡器还包括:
解封装模块,用于按照集成电路卡接口设备协议对接收到的操作指令进行解封装。
19、根据权利要求11、12或13所述的读卡器,其特征在于,该读卡器还包括:
发送模块,用于将调用服务函数或调用功能函数得到的数据发送给上位机软件。
20、根据权利要求19所述的读卡器,其特征在于,该读卡器还包括:
封装模块,用于将调用服务函数或调用功能函数得到的数据按照集成电路卡接口设备协议封装;所述发送模块将封装后的数据发送上位机软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810226997 CN101425120B (zh) | 2008-11-28 | 2008-11-28 | 读卡器及其执行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810226997 CN101425120B (zh) | 2008-11-28 | 2008-11-28 | 读卡器及其执行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101425120A true CN101425120A (zh) | 2009-05-06 |
CN101425120B CN101425120B (zh) | 2013-04-03 |
Family
ID=40615730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810226997 Active CN101425120B (zh) | 2008-11-28 | 2008-11-28 | 读卡器及其执行方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101425120B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365701A (zh) * | 2013-07-10 | 2013-10-23 | 飞天诚信科技股份有限公司 | 一种模拟读卡器的工作方法和模拟通信系统 |
CN106295767A (zh) * | 2016-07-31 | 2017-01-04 | 飞天诚信科技股份有限公司 | 一种智能卡及其工作方法 |
CN110971696A (zh) * | 2019-12-04 | 2020-04-07 | 楚天龙股份有限公司 | 一种实现虚拟电子卡通讯的系统和方法 |
CN114676418A (zh) * | 2022-05-27 | 2022-06-28 | 太平金融科技服务(上海)有限公司深圳分公司 | 操作请求处理方法、装置、设备、存储介质和程序产品 |
-
2008
- 2008-11-28 CN CN 200810226997 patent/CN101425120B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365701A (zh) * | 2013-07-10 | 2013-10-23 | 飞天诚信科技股份有限公司 | 一种模拟读卡器的工作方法和模拟通信系统 |
CN106295767A (zh) * | 2016-07-31 | 2017-01-04 | 飞天诚信科技股份有限公司 | 一种智能卡及其工作方法 |
CN106295767B (zh) * | 2016-07-31 | 2019-03-15 | 飞天诚信科技股份有限公司 | 一种智能卡及其工作方法 |
CN110971696A (zh) * | 2019-12-04 | 2020-04-07 | 楚天龙股份有限公司 | 一种实现虚拟电子卡通讯的系统和方法 |
CN114676418A (zh) * | 2022-05-27 | 2022-06-28 | 太平金融科技服务(上海)有限公司深圳分公司 | 操作请求处理方法、装置、设备、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN101425120B (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200174801A1 (en) | Information processing apparatus, ic chip, information processing method, program, and information processing system | |
US8768250B2 (en) | Enhanced near field communication terminal, smart card and communication method thereof | |
CN104598793A (zh) | 一种指纹认证方法和装置 | |
CN105900104A (zh) | 安全元件中的小应用程序迁移 | |
CN103777942A (zh) | 应用于金融终端的嵌入式软件产品的开发框架 | |
CN104854883B (zh) | 包括可配置的通知部件的nfc装置及其通信方法 | |
JP6573672B2 (ja) | Nfcによる通信装置及び方法 | |
CN105068910B (zh) | 一种智能卡的测试方法和装置 | |
CN107402792B (zh) | 应用软件安装包的集成方法、装置、设备及存储介质 | |
CN103455349A (zh) | 应用程序访问智能卡的方法和装置 | |
CN106101984A (zh) | 一种nfc移动支付终端的安全模块管理方法及终端 | |
CN101425120B (zh) | 读卡器及其执行方法 | |
CN111191252A (zh) | 一种智能卡操作系统加解密方法、装置及存储介质 | |
EP2620897A1 (en) | Method, device and system for displaying radio frequency identification application information | |
CN103605939B (zh) | 金融ic卡的个人化数据写入方法、装置及系统 | |
US8533747B2 (en) | Method and system for selecting one or more integrated circuit card interface devices | |
CN103530554A (zh) | 一种驱动包安装方法、生成方法、支付装置及驱动服务器 | |
CN110888674B (zh) | 在Python虚拟机中执行安全计算的方法及装置 | |
CN107085900B (zh) | 数据处理方法、装置、系统及pos终端 | |
CN101227682A (zh) | 一种保护终端中数据安全的方法及装置 | |
CN105321069A (zh) | 一种实现远程支付的方法及装置 | |
CN102542226A (zh) | 一种应用终端访问智能卡的安全访问实现方法 | |
CN108491745B (zh) | 数据采集方法及装置、计算机可读存储介质 | |
EP2614456B1 (en) | Method of analyzing the behavior of a secure electronic token | |
CN101877238A (zh) | 存储装置管理系统及方法、及其相关存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |