CN101840332B - 一种java智能卡的数据处理方法、装置及系统 - Google Patents

一种java智能卡的数据处理方法、装置及系统 Download PDF

Info

Publication number
CN101840332B
CN101840332B CN201010121314.9A CN201010121314A CN101840332B CN 101840332 B CN101840332 B CN 101840332B CN 201010121314 A CN201010121314 A CN 201010121314A CN 101840332 B CN101840332 B CN 101840332B
Authority
CN
China
Prior art keywords
native function
function
head
cap file
native
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.)
Expired - Fee Related
Application number
CN201010121314.9A
Other languages
English (en)
Other versions
CN101840332A (zh
Inventor
王卫霞
刘承涛
臧宏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Watchdata Co ltd
Original Assignee
Beijing WatchData System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing WatchData System Co Ltd filed Critical Beijing WatchData System Co Ltd
Priority to CN201010121314.9A priority Critical patent/CN101840332B/zh
Publication of CN101840332A publication Critical patent/CN101840332A/zh
Application granted granted Critical
Publication of CN101840332B publication Critical patent/CN101840332B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种JAVA智能卡的数据处理方法、装置及系统,以解决现有技术中JAVA智能卡处理CAP文件耗时长、运行效率较低的问题。该方法包括:确定出程序转换包CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法体设置为空;配置NATIVE函数与方法的对应关系;根据所述对应关系修改方法头:针对确定出的每一个方法,将该方法的方法头的标志位设置为表征该方法调用NATIVE函数的特征值以及在该方法的方法头中记录该方法所对应的NATIVE函数的标识信息。采用本发明技术方案降低了智能卡处理数据的时延、提高了运行效率。

Description

一种JAVA智能卡的数据处理方法、装置及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种JAVA智能卡的数据处理方法、装置及系统。
背景技术
目前,较为常用的智能卡采用JAVA语言实现,后续称该类卡为Java智能卡,一般来说Java智能卡的应用程序通过调用API(Application ProgrammingInterface,应用程序编程接口)类数据包实现相应的功能。API类数据包(如Java.io,Java.lang等数据包)主要以CAP(Converted Applet Package,程序转换包)文件的格式下载到Java智能卡中。CAP文件的格式由Java智能卡的JCVM(Java Card Virtual Machine JAVA卡虚拟机)规范定义统一的格式,一个API类数据包对应一个CAP文件,一个CAP文件包括以下几种组件:Header组件、Directory组件、Applet组件、Import组件、ConstantPool组件、Class组件、Method组件、StaticField组件、ReferenceLocation组件、Export组件、Descriptor组件以及Debug组件等,每个组件都为TLV结构,并且组件顺序存储,可根据长度信息确定出每个组件的起始位置和结束位置,如图1所示,存储有每个组件的Tag值、长度值以及value值。
目前,CAP文件的Method组件中包含有该API类数据包所声明的所有方法,并且针对每个方法都有相应的方法头与方法体,方法头中存储有该方法的参数与堆栈特征,方法头中还设有标志位(该标志位用于标识方法类型),方法体中存储有可执行的字节码(该字节码都是通过JAVA语言编程实现)。当方法的类型为ACC_ABSTRACT时,则将该方法的方法头的数据结构设置为2字节数据,第一字节的高4bit为标志位(用flag表示)取值为0X4,低4bit为运行该方法时需要用到的最大堆栈单元,第二个字节的高4bit为该方法的参数的数量,低4bit为该方法的最大本地变量的数量;当方法的类型为ACC_EXTENDED时,则将该方法的方法头的数据结构设置为4字节数据,第一字节的高4bit为标志位(用flag表示)取值为0X8,低4bit无意义,第二个字节为运行该方法时需要用到的最大堆栈单元;第三个字节为该方法的参数的数量;第四字节为方法的最大本地变量的数量。当将API类数据包对应的CAP文件下载到Java智能卡之后,在JAVA智能卡中对CAP文件进行解析,当解析该CAP文件中的Method组件时,针对该Method组件中的每一种方法,从该方法的方法头中解析出标志位,并根据该标志位的取值进行相应的操作。
现有技术中,由于每种方法对应的bytecode字节码都是采用JAVA语言编程,因此,在执行所有方法对应的bytecode字节码时,都需要首先将该bytecode字节码翻译成底层的语言程序(如C语言、C++语言等),再将底层语言程序翻译成机器码,最后再根据机器码执行相应的指令,以完成该方法所有实现的功能;因此,采用现有的技术方案对Method组件进行解析,由于执行该Method组件中的每一种方法对应的bytecode码都需要进行两次翻译,从而导致Java智能卡在执行各个程序时耗时较长、运行效率较低且耗费大量的资源等技术问题。
发明内容
本发明实施例提供一种JAVA智能卡的数据处理方法、装置及系统,以解决现有技术中JAVA智能卡对CAP文件处理耗时长、运行效率较低的问题。
一种JAVA智能卡的数据处理方法,包括:
确定出程序转换包CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法体设置为空;
配置NATIVE函数与方法的对应关系;
根据所述对应关系修改方法头:针对确定出的每一个方法,将该方法的方法头的标志位设置为表征该方法调用NATIVE函数的特征值以及在该方法的方法头中记录该方法所对应的NATIVE函数的标识信息。
一种JAVA智能卡的数据处理装置,包括:
确定模块,用于确定出程序转换包CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法体设置为空;
配置模块,用于配置NATIVE函数与方法的对应关系;
处理模块,用于根据所述配置模块配置的所述对应关系修改方法头:针对确定出的每一个方法,将该方法的方法头的标志位设置为表征该方法调用NATIVE函数的特征值以及在该方法的方法头中记录该方法所对应的NATIVE函数的标识信息。
一种JAVA智能卡,包括:
接收模块,用于接收程序转换包CAP文件;该CAP文件中包含有需要通过调用NATIVE函数实现相应功能的方法,所述需要调用NATIVE函数实现相应功能的方法的方法头中的标志位的取值为用于表征该方法调用NATIVE函数的特征值,方法头中记录有该方法所对应的NATIVE函数的标识信息,并且该方法的方法体为空;
处理模块,用于对所述CAP文件进行解析,针对该CAP文件中需要通过调用NATIVE函数实现相应功能的方法,则根据该方法的方法头中记录的标识信息调用相应函数运行所述方法。
一种JAVA智能卡的数据处理系统,包括:
JAVA智能卡的数据处理装置,用于确定出程序转换包CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法体设置为空;配置NATIVE函数与方法的对应关系,并根据所述对应关系修改方法头:针对确定出的每一个方法,将该方法的方法头的标志位设置为表征该方法调用NATIVE函数的特征值以及在该方法的方法头中记录该方法所对应的NATIVE函数的标识信息;将处理后的所述CAP文件发送至JAVA智能卡;
JAVA智能卡,用于接收所述CAP文件并进行解析,针对该CAP文件中需要通过调用NATIVE函数实现相应功能的方法,则根据该方法的方法头中记录的标识信息调用相应函数运行所述方法。
本发明实施例中,首先,确定出CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法头标志位设置为表征该方法需要调用NATIVE函数的特征值以及在方法的方法头中记录该方法需要调用的函数的标识信息,并将该方法的方法体设置为空;智能卡接收到该CAP文件之后并解析,针对该CAP文件中需要通过调用NATIVE函数实现相应功能的方法,则根据该方法的方法头中记录的标识信息调用相应函数运行所述方法。采用本发明技术方案,由于对CAP文件中全部或部分方法通过调用NATIVE函数即可实现相应的功能,因此,不需要对CAP文件中所有的方法都通过执行该方法的方法体来实现相应的功能,从而降低了JAVA智能卡对CAP文件的处理时延、提高运行效率。
附图说明
图1为现有技术中CAP文件中的各组件的结构示意图;
图2为本发明实施例中处理数据的方法流程图;
图3为本发明实施例中处理数据的系统结构示意图。
具体实施方式
下面结合说明书附图对本发明实施例进行详细的描述。
为解决上述技术问题,本发明实施例中,对Method组件中的各方法的方法头中的标志位进行了扩展,如,当标志位的取值为0X8时,则表示该方法的类型为ACC_EXTENDED;当标志位的取值为0X4时,则表示该方法的类型为ACC_ABSTRACT;当标志位的取值为0X2(本发明实施例中,将方法的标志位为0X2定义为表征该方法需要调用NATIVE函数来实现相应功能的特征值)时,则表示该方法的类型为ACC_NATIVE(即类型为ACC_NATIVE的方法即为本发明实施例中需要调用NATIVE函数实现相应功能的方法。针对Method组件中的部分或全部方法都可通过调用NATIVE函数来实现相应的功能,从而在智能卡中,不需要再针对每一种方法都需要进行执行该方法对应的方法体中的bytecode字节码,提高了智能卡的运行效率,缩短运行时间。
本领域技术人员应该很容易理解,用于表征方法的类型的标志位的取值仅仅是本发明实施例所提供的具体实例,本发明实施例还可以取其他值来代表方法的类型,如:标志位的取值为0011时表示该方法类型为ACC_EXTENDED,当标志位的取值为1100时表示该方法的类型为ACC_ABSTRACT,当标志位的取值为1111时表示该方法的类型为ACC_NATIVE。
参见图2,为本发明实施例中对JAVA智能卡的数据进行处理的方法流程图,该流程包括以下步骤:
步骤201、JAVA智能卡接收以CAP文件形式发送的API数据包。
CAP文件的格式由JCVM规范定义统一的格式,转换方式可通过现有的较为常规的方式实现。
步骤202、JAVA智能卡确定出该CAP文件的Method组件中的方法中需要通过调用NATIVE函数实现相应功能的方法,并对该方法的方法头与方法体进行相应的修改;再将修改后的CAP文件发送至JAVA智能卡中。
步骤203、JAVA智能卡在调用API包时,对该API包对应的CAP文件进行解析;针对该CAP文件的Method组件中的每一种方法,从该方法的方法头中解析出标志位,并根据该标志位的取值进行相应的操作,以实现相应的功能。
在上述流程的步骤202中,可采用下载工具对Method组件中需要通过调用NATIVE函数实现相应功能的方法的方法头及方法体进行修改,其具体的实现方式如下:
步骤1、下载工具读取CAP文件的内容到缓存区,并在缓存区中按照各组件在CAP文件中的存储顺序进行存储。
步骤2、下载工具从该CAP文件中的Export组件中获取各方法存储在Method组件中的偏移地址(偏移地址为2个字节,取值范围为[0,0XFFFF])。
步骤3、读入配置关系表,在配置表中建立需要调用NATIVE函数的方法(该类方法称为ACC_NATIVE方法)与运行该方法需要调用的NATIVE函数的对应关系,如建立方法的名称与NATIVE函数的标识号(如ID号)之间的对应关系。
该步骤中,并仅限于通过配置表建立上述关系,还可以通过映射表或存储表等方式建立上述关系。
步骤4、针对每一个方法,根据获取到的该方法所对应的偏移地址,从该Method组件中定位出该方法,并对该方法的类型进行设置,若该方法不在配置表中,则采用现有的方式对该方法的标志位与方法体进行相应的配置;若该方法在上述配置表中,则在该方法的方法头中的标志位写入0X2(该0X2用于表征该方法需要调用NATIVE函数来实现相应的功能),在方法头中除了标志位之外的bit位上写入该方法所对应的NATIVE函数的ID号,并将该方法对应的方法体中的bytecode字节码删除,将该方法体设置为空。如需要定义该类方法返回的数值类型时,可在该方法中的已清空的方法体中写入指令0x78、0x79或0x7A,该三个指令用于表示该方法所返回数值类型,如:0x78表示指令sreturn,要求该方法返回short类型值;0x79表示指令ireturn,要求该方法返回int类型值;0x7A表示指令return表示无返回值。
上述流程的步骤203中,JAVA智能卡在需要调用API包时,对接收到的与该API包对应的CAP文件进行解析,当解析到该CAP文件中的Method组件时,针对每一种方法,从该方法对应的头信息中解析出标志位,若解析出方法的标志位的取值为0X2时,则确定该方法的类型为ACC_NATIVE,则根据该方法方法头中记录的ID号,从NATIVE函数库中直接调用该ID号所对应的NATIVE函数以实现该方法所要实现的功能。而对于类型为ACC_EXTENDED或ACC_ABSTRACT的方法,采用现有的方式运行该方法即可实现相应的功能。
需要说明的是,本发明实施例中的NATIVE函数包括公用NATIVE函数与私有NATIVE函数;所谓的公用NATIVE是指多个方法都可调用该函数实现相应的功能的NATIVE函数;所谓的私有NATIVE函数是指专用于某一方法调用该函数实现相应功能的NATIVE函数。
本发明实施例中,针对Method组件中需要通过调用NATIVE函数实现相应功能的方法,则直接将该方法的方法体设置为空,并且在该方法的方法头中记录该私有NATIVE函数的标识号。并建立该私有NATIVE函数与该方法的对应关系,在后续执行该方法时,直接调用该方法所对应的私有NATIVE函数来实现该方法所要实现的功能。
本发明实施例中,针对调用公用NATIVE函数的方法,为节省资源,本发明实施例针对调用同一公用NATIVE函数实现相应功能的多个方法,设置该公有NATIVE函数包括:
步骤1、建立企业包。
步骤2、针对每一个公有NATIVE函数,确定出Method组件中所有调用该公有NATIVE函数的方法,并确定出该所有方法的相同模块(该模块是指JAVA方法中用于实现某操作或功能的程序代码段)。
步骤3、将该相同模块设置为方法体为空的JAVA方法,并将该JAVA方法的方法头标志位设置为0X2,在方法头中除标志位以外的bit位中填写该公用NATIVE函数的ID号。
步骤4、建立该JAVA方法与该公有NATIVE函数之间的对应关系,并存储至企业包中。以便在后续如需要执行某方法中的一个需要通过调用公有NATIVE函数实现相应功能的JAVA方法时,从该企业包中存储的对应关系中获取与该JAVA方法相对应的公有NATIVE函数,并调用该公有NATIVE函数来实现该JAVA方法所要实现的功能。
基于上述流程相同的构思,本发明实施例还提供JAVA智能卡的数据处理系统,该JAVA智能卡的数据处理系统如图3所示,包括JAVA智能卡的数据处理装置31与JAVA智能卡32,其中:
JAVA智能卡的数据处理装置31,用于确定出程序转换包CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法体设置为空;配置NATIVE函数与方法的对应关系,并根据所述对应关系修改方法头:针对确定出的每一个方法,将该方法的方法头的标志位设置为表征该方法调用NATIVE函数的特征值以及在该方法的方法头中记录该方法所对应的NATIVE函数的标识信息;将处理后的所述CAP文件发送至JAVA智能卡。
JAVA智能卡32,用于接收所述CAP文件并进行解析,针对该CAP文件中需要通过调用NATIVE函数实现相应功能的方法,则根据该方法的方法头中记录的标识信息调用相应函数运行所述方法。。
按照功能划分,可将JAVA智能卡的数据处理装置31划分为确定模块311、配置模块312、处理模块313以及发送模块314,其中:
确定模块311,用于确定出程序转换包CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法体设置为空。
配置模块312,用于配置NATIVE函数与方法的对应关系。
处理模块313,用于根据配置模块312配置的对应关系修改方法头:针对确定出的每一个方法,将该方法的方法头的标志位设置为表征该方法调用NATIVE函数的特征值以及在该方法的方法头中记录该方法所对应的NATIVE函数的标识信息。
发送模块314,用于将处理模块313处理后的CAP文件发送至JAVA智能卡32。
确定模块311确定出CAP文件中需要通过调用NATIVE函数实现相应功能的方法,具体为:针对CAP文件中的每一个方法,判断所述方法是否存在所述对应关系中,若是,则确定该方法为需要通过调用NATIVE函数实现相应功能的的方法。
按照功能划分,可将JAVA智能卡32划分为接收模块321、处理模块322,其中:
接收模块321,用于接收程序转换包CAP文件;该CAP文件中包含有需要通过调用NATIVE函数实现相应功能的方法,该需要调用NATIVE函数实现相应功能的方法的方法头中的标志位的取值为用于表征该方法调用NATIVE函数的特征值,方法头中记录有该方法所对应的NATIVE函数的标识信息,并且该方法的方法体为空。
处理模块322,用于对该CAP文件进行解析,针对该CAP文件中需要通过调用NATIVE函数实现相应功能的方法,则根据该方法的方法头中记录的标识信息调用相应函数运行所述方法。
处理模块322在方法的方法头中记录该方法所对应的NATIVE函数的标识信息,具体为:根据对应关系获取该方法对应的NATIVE函数的标识号,并将该标识号写入到所述方法的方法头中;所述对应关系为NATIVE函数的标识号与方法的名称的对应关系。
上述JAVA智能卡的数据处理装置31对CAP文件的处理以及JAVA智能卡对接收到的CAP文件的处理的具体实现方式与前述方法流程一致,在此不再赘述。
本发明实施例还包括一种智能卡与一种JAVA智能卡的数据处理装置,其中:
一种智能卡的结构如图3所示,包括接收模块321与处理模块322,并且接收模块321与处理模块322所实现的功能如前所述。
一种JAVA智能卡的数据处理装置的结构如图3所示,包括确定模块311、发送模块312、处理模块313以及发送模块314,并且该装置中的多个模块所实现的功能如前所述。
本发明实施例中,针对CAP文件中的Method组件的方法头中的标志位进行了扩展,若该组件中的方法可通过调用函数实现相应功能时,可将该类方法的方法头进行改进,并在方法头中记录该方法所要调用的函数的ID号,再将该方法体设置为空;当智能卡接收到该CAP文件时,针对需要通过调用函数实现相应功能的方法,只需要根据该方法的方法头中存储的ID号,即可从NATIVE函数库中调用该ID号所对应的函数,从而实现该方法所要实现的功能;不需要再针对Method组件中的所有方法,都需要执行该方法的方法体,从而在一定程度上缩短了智能卡的运行时间,提高了智能卡的运行效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种JAVA智能卡的数据处理方法,所述JAVA智能卡中包括程序转换包CAP文件,且所述CAP文件的方法具有相应的方法头与方法体,所述方法头中设置标志位,所述方法体中存储可执行的字节码,其特征在于,包括:
确定出程序转换包CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法体设置为空;
配置NATIVE函数与方法的对应关系;
根据所述对应关系修改方法头:针对确定出的每一个方法,将该方法的方法头的标志位设置为表征该方法调用NATIVE函数的特征值以及在该方法的方法头中记录该方法所对应的NATIVE函数的标识信息;
其中,所述NATIVE函数包括公用NATIVE函数与私有NATIVE函数,所述将该方法的方法体设置为空,具体为:
针对被多个方法所调用的公用NATIVE函数,获取该公用NATIVE函数被调用的多个方法所具有的相同的模块;建立企业包,在该企业包中添加所述多个方法的相同模块,并将该模块设置为方法体为空的方法;
针对专用于被一个方法所调用的私有NATIVE函数,则将该私有NATIVE函数对应的方法的方法体设置为空。
2.如权利要求1所述的方法,其特征在于,在修改方法头之前,还包括:
针对CAP文件中的每一个方法,判断所述方法是否存在所述对应关系中,若是,则执行修改方法头操作。
3.如权利要求1所述的方法,其特征在于,
在所述方法的方法头中记录该方法所对应的NATIVE函数的标识信息,具体为:
根据所述对应关系获取所述方法对应的NATIVE函数的标识号,并将该标识号写入到所述方法的方法头中;
所述对应关系为NATIVE函数的标识号与方法的名称的对应关系。
4.如权利要求1所述的方法,其特征在于,还包括:
将处理后的所述CAP文件发送至JAVA智能卡;
JAVA智能卡接收所述CAP文件并进行解析,针对该CAP文件中需要通过调用NATIVE函数实现相应功能的方法,则根据该方法的方法头中记录的标识信息调用相应函数运行所述方法。
5.一种JAVA智能卡的数据处理装置,所述JAVA智能卡中包括程序转换包CAP文件,且所述CAP文件的方法具有相应的方法头与方法体,所述方法头中设置标志位,所述方法体中存储可执行的字节码,其特征在于,包括:
确定模块,用于确定出程序转换包CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法体设置为空,所述NATIVE函数包括公用NATIVE函数与私有NATIVE函数,所述将该方法的方法体设置为空,具体为:针对被多个方法所调用的公用NATIVE函数,获取该公用NATIVE函数被调用的多个方法所具有的相同的模块;建立企业包,在该企业包中添加所述多个方法的相同模块,并将该模块设置为方法体为空的方法;针对专用于被一个方法所调用的私有NATIVE函数,则将该私有NATIVE函数对应的方法的方法体设置为空;
配置模块,用于配置NATIVE函数与方法的对应关系;
处理模块,用于根据所述配置模块配置的所述对应关系修改方法头:针对确定出的每一个方法,将该方法的方法头的标志位设置为表征该方法调用NATIVE函数的特征值以及在该方法的方法头中记录该方法所对应的NATIVE函数的标识信息。
6.如权利要求5所述的装置,其特征在于,所述确定模块进一步用于,在确定出CAP文件中需要通过调用NATIVE函数实现相应功能的方法之后,针对CAP文件中的每一个方法,判断所述方法是否存在所述对应关系中,若是,则执行修改方法头操作。
7.如权利要求6所述的装置,其特征在于,所述处理模块在所述方法的方法头中记录该方法所对应的NATIVE函数的标识信息,具体为:
根据所述对应关系获取所述方法对应的NATIVE函数的标识号,并将该标识号写入到所述方法的方法头中;
所述对应关系为NATIVE函数的标识号与方法的名称的对应关系。
8.一种JAVA智能卡,所述JAVA智能卡中包括程序转换包CAP文件,且所述CAP文件的方法具有相应的方法头与方法体,所述方法头中设置标志位,所述方法体中存储可执行的字节码,其特征在于,包括:
接收模块,用于接收程序转换包CAP文件;该CAP文件中包含有需要通过调用NATIVE函数实现相应功能的方法,所述需要调用NATIVE函数实现相应功能的方法的方法头中的标志位的取值为用于表征该方法调用NATIVE函数的特征值,方法头中记录有该方法所对应的NATIVE函数的标识信息,并且该方法的方法体为空,其中,所述NATIVE函数包括公用NATIVE函数与私有NATIVE函数,所述将该方法的方法体设置为空,具体为:针对被多个方法所调用的公用NATIVE函数,获取该公用NATIVE函数被调用的多个方法所具有的相同的模块;建立企业包,在该企业包中添加所述多个方法的相同模块,并将该模块设置为方法体为空的方法;针对专用于被一个方法所调用的私有NATIVE函数,则将该私有NATIVE函数对应的方法的方法体设置为空;
处理模块,用于对所述CAP文件进行解析,针对该CAP文件中需要通过调用NATIVE函数实现相应功能的方法,则根据该方法的方法头中记录的标识信息调用相应函数运行所述方法。
9.一种JAVA智能卡的数据处理系统,所述JAVA智能卡中包括程序转换包CAP文件,且所述CAP文件的方法具有相应的方法头与方法体,所述方法头中设置标志位,所述方法体中存储可执行的字节码,其特征在于,包括:
JAVA智能卡的数据处理装置,用于确定出程序转换包CAP文件中需要通过调用NATIVE函数实现相应功能的方法,并将该方法的方法体设置为空;配置NATIVE函数与方法的对应关系,并根据所述对应关系修改方法头:针对确定出的每一个方法,将该方法的方法头的标志位设置为表征该方法调用NATIVE函数的特征值以及在该方法的方法头中记录该方法所对应的NATIVE函数的标识信息;将处理后的所述CAP文件发送至JAVA智能卡,其中,所述NATIVE函数包括公用NATIVE函数与私有NATIVE函数,所述将该方法的方法体设置为空,具体为:针对被多个方法所调用的公用NATIVE函数,获取该公用NATIVE函数被调用的多个方法所具有的相同的模块;建立企业包,在该企业包中添加所述多个方法的相同模块,并将该模块设置为方法体为空的方法;针对专用于被一个方法所调用的私有NATIVE函数,则将该私有NATIVE函数对应的方法的方法体设置为空;
JAVA智能卡,用于接收所述CAP文件并进行解析,针对该CAP文件中需要通过调用NATIVE函数实现相应功能的方法,则根据该方法的方法头中记录的标识信息调用相应函数运行所述方法。
CN201010121314.9A 2010-03-09 2010-03-09 一种java智能卡的数据处理方法、装置及系统 Expired - Fee Related CN101840332B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010121314.9A CN101840332B (zh) 2010-03-09 2010-03-09 一种java智能卡的数据处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010121314.9A CN101840332B (zh) 2010-03-09 2010-03-09 一种java智能卡的数据处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN101840332A CN101840332A (zh) 2010-09-22
CN101840332B true CN101840332B (zh) 2014-03-05

Family

ID=42743719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010121314.9A Expired - Fee Related CN101840332B (zh) 2010-03-09 2010-03-09 一种java智能卡的数据处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN101840332B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976211B (zh) * 2010-09-26 2013-03-13 北京握奇数据系统有限公司 一种在cap文件中替换函数的方法、装置及系统
CN102023885A (zh) * 2010-12-17 2011-04-20 北京握奇数据系统有限公司 一种存储Java卡运行时环境字节码的方法及系统
CN102591735B (zh) * 2011-12-31 2013-11-13 飞天诚信科技股份有限公司 一种智能卡处理cap文件的方法
CN110752878B (zh) * 2014-06-30 2022-12-13 华为技术有限公司 一种数据处理方法及装置
CN105426239A (zh) * 2015-11-03 2016-03-23 大唐微电子技术有限公司 一种在Java卡中实现本地方法调用的方法及装置
CN106020920A (zh) * 2016-05-11 2016-10-12 广州新诚芯信息科技有限公司 一种jcvm解释器的预处理方法及系统
CN108347440B (zh) * 2018-02-07 2020-08-18 飞天诚信科技股份有限公司 一种使scsi设备支持智能卡应用的方法及装置
CN110008134A (zh) * 2019-04-18 2019-07-12 上海计算机软件技术开发中心 一种Java卡标准API安全性测试方法
CN112905271A (zh) * 2021-03-04 2021-06-04 上海升途智能系统有限公司 一种应用程序接口api的调用方法、装置及电子设备
CN114995843B (zh) * 2022-08-03 2022-10-18 紫光同芯微电子有限公司 一种程序包组件的下载存储方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1821964A (zh) * 2005-02-18 2006-08-23 国际商业机器公司 将本机函数内嵌到编译的Java代码中的方法和系统
CN101231597A (zh) * 2008-02-01 2008-07-30 东信和平智能卡股份有限公司 智能卡中java程序指令的执行方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1821964A (zh) * 2005-02-18 2006-08-23 国际商业机器公司 将本机函数内嵌到编译的Java代码中的方法和系统
CN101231597A (zh) * 2008-02-01 2008-07-30 东信和平智能卡股份有限公司 智能卡中java程序指令的执行方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
两种重用本地代码库的方法比较;陈宇等;《计算机工程》;20060531;第32卷(第09期);第86-87,90页 *
陈宇等.两种重用本地代码库的方法比较.《计算机工程》.2006,第32卷(第09期),86-87,90.

Also Published As

Publication number Publication date
CN101840332A (zh) 2010-09-22

Similar Documents

Publication Publication Date Title
CN101840332B (zh) 一种java智能卡的数据处理方法、装置及系统
CN102004744B (zh) 从一个源表到至少一个目标库的表的数据抽取系统及方法
CN104731569B (zh) 一种数据处理方法及相关设备
US9449020B2 (en) Method for smart card to process CAP file
CN102681893B (zh) 可执行程序的跨平台实现方法及移动终端
JP2005182809A (ja) ストレージ技術抽象化方式におけるファイル内でのファイルシステムの生成
CN102073633A (zh) 资源文件的存储访问方法及装置
JP2007535241A5 (zh)
CN108804100B (zh) 创建界面元素的方法、装置、存储介质及移动终端
CN1687899A (zh) 将应用程序动态下载到用户识别模块的方法、系统及模块
CN115098426B (zh) Pcie设备管理方法、接口管理模块、pcie系统、设备和介质
CN111208988A (zh) 单片机文件系统编写方法及单片机系统
CN103530165B (zh) 一种应用于物联网行业的java解决方案
CN103677820A (zh) 一种嵌入式开发软件输出方法及系统
CN101437046A (zh) 一种固态硬盘中的数据处理方法、固态硬盘和网络设备
CN105847190A (zh) 一种数据传输方法及处理器
CN106484375B (zh) 一种指令块加载方法、软交换设备及系统
WO2017076244A1 (zh) 一种动态修复应用程序的方法、装置及相关系统
CN112230941B (zh) 一种Java Card包及应用程序安装方法和工具
CN106775643B (zh) 一种带有渠道数据的应用文件打包系统及方法
CN104375871A (zh) 一种基于eMMC加速系统开机的方法和装置
CN105511918B (zh) 一种智能电能表的数据存储格式自动维护方法
CN101770508B (zh) 移动通信终端中的数据访问方法和设备
EP2966565A1 (en) Method for automatically converting android application to tizen installable package
CN114610342A (zh) 一种在Android上支持鸿蒙应用安装的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden

Patentee after: BEIJING WATCHDATA Co.,Ltd.

Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden

Patentee before: BEIJING WATCH DATA SYSTEM Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140305