CN109643230B - 用作库包的java卡应用包的方法和设备 - Google Patents

用作库包的java卡应用包的方法和设备 Download PDF

Info

Publication number
CN109643230B
CN109643230B CN201780053715.5A CN201780053715A CN109643230B CN 109643230 B CN109643230 B CN 109643230B CN 201780053715 A CN201780053715 A CN 201780053715A CN 109643230 B CN109643230 B CN 109643230B
Authority
CN
China
Prior art keywords
package
applet
file
export
cap
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.)
Active
Application number
CN201780053715.5A
Other languages
English (en)
Other versions
CN109643230A (zh
Inventor
S.沙费尔
C.冈多瓦西托
T.T.黄
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.)
Thales Digital Security France Easy Stock Co
Thales DIS Design Services SAS
Original Assignee
Gemalto SA
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 Gemalto SA filed Critical Gemalto SA
Publication of CN109643230A publication Critical patent/CN109643230A/zh
Application granted granted Critical
Publication of CN109643230B publication Critical patent/CN109643230B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code

Abstract

描述有一种方法,其使用java卡小应用包作为库包。所述方法提出一种扩展小应用包的导出组件因而允许它们被称为库包的方式。通过组合通过小应用包的标准转换所生成的cap文件与通过不指定小应用的转换所生成的导出文件,它允许获得一混合包,所述混合包可以表现为库包和小应用包二者。

Description

用作库包的JAVA卡应用包的方法和设备
技术领域
本发明涉及一种用于使用java卡应用包作为库包的方法。
它特别是在智能卡产品中获得应用,在所述智能卡产品中目的在于存储日益增长的数量的应用(小应用(applet))而不管受限的存储器资源。
背景技术
在本章节中所描述的途径可以被继续从事,但是不一定是已经在先被设想或追寻的途径。因此,除非在本文中另行指示,否则在本章节中所描述的途径不是对于本申请中的权利要求的现有技术,并且不通过被包括在本章节中而被承认为是现有技术。
Java卡(Java Card)技术在1996年被介绍,并且现在广泛用于智能卡领域中(尤其是用于SIM卡或ATM卡)。它允许基于java的应用(小应用)运行在智能卡或具有受限存储器资源的其它类似设备上。这些应用当被单独采用时通常没有很大的存储器占用空间。然而,由于市场趋向于需要在单个java卡上存储越来越多的这些应用,所以它驱策研究者探索用于减小由每个应用所消耗的存储器空间的解决方案。
到目前为止所考虑的不同途径全部涉及修改应用代码本身以减小其存储器占用空间。代码优化可以用手、通过重构字节代码、或通过使用专有字节代码来被执行以便减小存储器占用空间。然而,这样的优化被设定成在效率方面是受限的,并且当前用这种方式实现的存储器占用空间减小并不可观。这需要用于实现对于存储应用所需的存储器空间的减小的新方式。
可替换的途径是将用于个性化阶段的二进制代码定为目标。在利用消费者信息个性化了卡的小应用之后,用于该个性化目的的有关的非平凡二进制代码在小应用的接下来的阶段中不被需要。然而,由于每个Java卡小应用以封闭的包格式被捆绑,所以不可能在小应用上执行部分清除。因此,所期望的解决方案可以在于在分离的个性化包中实现与应用个性化相关联的二进制代码,并且一旦个性化完成就移除该包。这样的途径将会例如依赖于多包设计的实现方式,所述多包设计具有能够共享并且链接其资源的不同包。
实现这个的一种方式可以是使用Java卡可共享接口。以此方式,小应用包的可共享接口对象(SIO)可以从另一小应用包被访问。然而,仅仅访问另一小应用包的SIO在先前提及的段落中所提及的途径的上下文中可经证明是不够的。此外,可共享接口所包含的客户端/服务器模型需要额外的设置代码并且因而生成通信开销。最后,使用可共享接口可显示为对于允许足够的对象被另一包访问是不适当的,并且增大应用代码大小及其执行时间。
发明内容
为了解决这些需要,本发明涉及一种用于使用java卡小应用包作为库包的方法。具体地,所述方法提出一种扩展小应用包的导出组件因而允许它们被称为库包的方式。
库包导出组件、诸如导出文件公布包内部公共资源、诸如类、方法和字段的所有引用。然而,由于Java卡标准限制,库包不能包含小应用包。相反地,小应用包被限制成通过可共享接口仅仅共享SIO,所述可共享接口不使其公共资源对于其它包可见。在方法实施例中所描述的发明允许获得混合包,所述混合包可以表现为库包和小应用包二者。
更具体地,根据本发明的第一方面,提出有一种用于使得Java卡小应用包可用作库的方法,其包括:
-转换小应用包,所述转换生成第一经转换的小应用“CAP”文件与第一导出文件的第一组合,并且如果所述导出文件包含可共享接口对象SIO则删除所述第一导出文件;
-在不指定任何小应用的情况下转换小应用包,所述转换生成第二CAP文件与第二导出文件的第二组合,所述第二导出文件包含所有公共类和方法、包括SIO,如果有任何SIO的话,并且删除所述第二CAP文件;以及
-合并所述第二导出文件与所述第一CAP文件以生成所述第一CAP文件与所述第二导出文件的第三组合,所述第三组合具有库能力和小应用包能力二者。
本发明允许在分离的并且可移除的包中开发个性化代码,因而开辟了道路来减小java卡小应用的存储器占用空间。这样的存储器占用空间优化可以允许Java卡存储更多的应用,或相反地,它允许使用具有较小存储器的较便宜的卡来存储相同数量的应用。
尽管事实是所述方法生成的CAP文件是库包和小应用包二者,这关于Java卡规范是非标准的,但是其格式保持依从所述规范并且因此可由任何Java卡虚拟机(JCVM)接受。因此,本发明对依从Java卡标准的产品没有任何影响。
本发明的另一优点来自于如下可能性:错误修补和应用,其通过在Java卡上加载(多个)维修包而不影响其原始内容。
此外,如果期望的话,应用的可定制的特征可以从分离的包来实现。该操作可以容易地从被快速开发的包来实现。因此,实施例允许对迅速改变的市场的快速响应。
本发明的第二方面涉及一种计算机程序产品,所述计算机程序产品包括一个或多个所存储的指令序列,所述指令序列对于处理器而言可访问并且当由处理器执行的时候使得处理器执行根据第一方面的方法的步骤。
最后,本发明的第三方面提出一种用于使得Java卡小应用包可用作库包的设备,其包括Java卡转换器、删除单元以及合并单元,其被适配成执行以下:
-转换小应用包,所述转换生成第一经转换的小应用“CAP”文件与第一导出文件的第一组合,并且如果所述导出文件包含可共享接口对象SIO则删除所述第一导出文件;
-在不指定任何小应用的情况下通过Java卡转换器来转换小应用包,所述转换生成第二CAP文件与第二导出文件的第二组合,所述第二导出文件包含所有公共类和方法、包括SIO,如果有任何SIO的话,并且删除所述第二CAP文件;
-合并所述第二导出文件与所述第一CAP文件以生成所述第一CAP文件与所述第二导出文件的第三组合,所述第三组合具有库能力和小应用包能力二者。
附图说明
在附图的各图中作为示例而不是作为限制地图示了本发明的实施例,在所述附图的各图中同样的参考标号指代类似的元素,并且其中:
-图1是一流程图,其图示了本发明的方法的实施例。
-图2示出了被适配成执行本发明的方法的实施例的设备的功能性描述。
具体实施方式
参考图1,在其中示出有一流程图,其图示了根据所提出的用于使得Java卡应用包可用作库包的方法的实施例所执行的不同任务。
由标准Java卡转换器来转换小应用包,其在下文中被称为小应用包AP1。
在1处,该转换生成经转换的小应用(CAP)文件CAP1和导出文件EXP1。在该阶段,仅有来自AP1的开共享接口对象(SIO)可由AP1通过Java卡可共享接口来与其它包共享。
由先前提及的转换所生成的导出文件EXP1可以包含SIO或不包含。这例如在2处被确定。在其中EXP1包含SIO的情况中,于是在3处,从java卡的存储器中删除导出文件EXP1。两种情况于是由相同的任务继续。这些任务的示例性实施例现在将参考附图来被进一步描述。
原始小应用包AP1在4处被与步骤1的Java卡相同的Java卡转换器或被另一Java卡转换器再次转换。然而,这次在不指定任何小应用的时候实现这个。该转换于是生成另一CAP文件、即CAP2,以及另一导出文件、即EXP2。
本领域普通技术人员将领会到与在1处所执行的任务的差异存在于以下事实:即以此方式生成的导出文件EXP2包含所有其公共资源(包括SIO,如果有任何SIO的话)。
在以上步骤4以后,在5处,CAP文件CAP2被删除,即从Java卡的存储器被擦除。
在本发明的没有在图中被表示出的其它实施例中,一方面在1、2和3处执行的步骤,以及另一方面在4和5处执行的步骤,可以并行地被执行,或仍如所示出的依次被执行但是以不同的次序,也就是说首先步骤4和5,然后步骤1、2和3。在任何情况中,在6处,过程进行同一个步骤。
在6处,实际上,CAP文件CAP1和导出文件EXP2二者被合并以形成一组合,所述组合呈现小应用包能力和库包能力二者。该后一特征提供如下可能性:即经授权的小应用包访问来自AP1的公共资源。
在7处,可以根据第二导出文件EXP2而生成第三导出文件EXP3。该第三导出文件EXP3仅仅包含EXP2的SIO,如果有任何SIO的话。由于该导出文件EXP3,任何其它的小应用包能够访问原始小应用包AP1的SIO。
上述实施例允许在分离的并且可移除的包中开发个性化代码,因而开辟了道路来减小java卡小应用的存储器占用空间。这样的存储器占用空间优化可以允许Java卡存储更多的应用,或相反地,它允许使用具有较小存储器的较便宜的卡来存储相同数量的有用应用。
参考图2,其中示出有被适配成执行本发明的方法的步骤的设备的功能性描述。
设备20被适配成使得Java卡小应用包AP1 21可用作库包。设备20包括Java卡转换器(CU)22、删除单元(DU)23以及合并单元(MU)24,其被适配成执行以下:
-转换小应用包AP1,其生成第一经转换的小应用“CAP”文件CAP1与第一导出文件EXP1的第一组合,并且如果所述导出文件包含可共享接口对象(SIO)则删除所述第一导出文件EXP1;
-再次转换小应用包AP1,这次生成第二CAP文件CAP2与第二导出文件EXP2的第二组合并且删除所述第二CAP文件CAP2;
-合并所述第二导出文件与所述第一CAP文件以生成所述第一CAP文件CAP1与所述第二导出文件EXP2的第三组合25。
本发明还可以被嵌入在计算机程序产品中,所述计算机程序产品包括使能实现本文中所述方法的所有特征,并且所述计算机程序产品当被加载到信息处理系统中的时候能够实施这些方法。在本上下文中的计算机程序构件或计算机程序意指如下指令集以任何语言、代码或记号的任何表述:所述指令集意图使得具有信息处理能力的系统直接地或在转换成另一语言之后执行特定的功能。这样的计算机程序可以被存储在计算机或机器可读介质上,所述计算机或机器可读介质允许数据、指令、消息或消息分组、以及其它机器可读信息从介质被读取。计算机或机器可读介质可以包括非易失性存储器、诸如ROM、闪速存储器、盘驱动器存储器、CD-ROM和其它永久存储装置。另外,计算机或机器可读介质可以包括例如易失性存储装置、诸如RAM、缓冲器、高速缓存存储器和网络电路。此外,计算机或机器可读介质可以包括在暂时性状态介质中的计算机或机器可读信息,所述暂时性状态介质诸如网络链接和/或网络接口,包括有线网络或无线网络,其允许设备读取这样的计算机或机器可读信息。
当解释说明书及其相关联的权利要求的时候,诸如“包括”、“包括有”、“并入”、“包含”、“是”和“具有”之类的表述要以非排他性方式被解释,即被解释成允许还存在没有被显式限定的其它项或组件。对单数的提及也要被解释成是对复数的提及,并且反之亦然。
虽然已经图示和描述有目前被视为是本发明优选实施例的内容,但是本领域技术人员将理解的是,可以做出各种其它修改,并且等同物可以被替代,而不偏离本发明的真实范围。另外,可以做出许多修改以使特定情形适应本发明的教导,而不偏离本文中所述的中心发明概念。此外,本发明的实施例可以不包括上述所有特征。因此,所意图的是,本发明不被限于所公开的特定实施例,而是本发明包括落入所附权利要求的范围内的所有实施例。
本领域技术人员将领会到,在描述中所公开的各种参数可以被修改,并且所公开和/或要求保护的各种实施例可以被组合,而不偏离本发明的范围。
所规定的是,权利要求中的参考标记不限制权利要求的范围,而是仅仅被插入以增强权利要求的易读性。

Claims (9)

1.一种用于使得Java卡小应用包可用作库包的方法,包括:
-转换小应用包,所述转换生成第一经转换的小应用CAP文件与第一导出文件的第一组合,并且如果所述第一导出文件包含可共享接口对象SIO则删除所述第一导出文件;
-在不指定任何小应用的情况下转换小应用包,所述在不指定任何小应用的情况下转换小应用包生成第二CAP文件与第二导出文件的第二组合,所述第二导出文件包含所有公共类和方法、包括SIO,如果有任何SIO的话,并且删除所述第二CAP文件;以及
-合并所述第二导出文件与所述第一CAP文件以生成所述第一CAP文件与所述第二导出文件的第三组合,所述第三组合具有库能力和小应用包能力二者。
2.根据权利要求1所述的方法,此外包括根据所述第二导出文件来生成第三导出文件,所述第三导出文件仅仅包含所述第二导出文件的SIO,如果有任何SIO的话。
3.根据权利要求2所述的方法,其中至少一个其它小应用包能够使用所述第三导出文件来访问所述小应用包的SIO。
4.根据权利要求1至3中任一项所述的方法,其中合并所述第二导出文件与所述第一CAP文件包括使得所述第二导出文件对于经授权的小应用包而言是可访问的。
5.根据权利要求4所述的方法,其中所述经授权的小应用包包括个性化包,所述个性化包包含个性化代码,所述个性化代码被适配用于小应用的个性化,并且所述个性化包能够通过所述第二导出文件来访问小应用包的公共资源。
6.根据权利要求5所述的方法,其中所述小应用包和个性化包是意图被安装到Java卡的存储器中的主要小应用的多包实现方式。
7.根据权利要求6所述的方法,其中一旦已经完成主要小应用的个性化,就从Java卡存储器中移除个性化包。
8.一种计算机可读介质,其包括一个或多个所存储的指令序列,所述指令序列对于处理器而言可访问并且当由处理器执行的时候使得处理器执行权利要求1至7中任一项的步骤。
9.一种用于使得Java卡小应用包可用作库包的设备,其包括Java卡转换器、删除单元以及合并单元,其被适配成执行以下:
-转换小应用包,所述转换生成第一经转换的小应用CAP文件与第一导出文件的第一组合,并且如果所述第一导出文件包含可共享接口对象SIO则删除所述第一导出文件;
-在不指定任何小应用的情况下转换小应用包,所述在不指定任何小应用的情况下转换小应用包生成第二CAP文件与第二导出文件的第二组合,所述第二导出文件包含所有公共类和方法、包括SIO,如果有任何SIO的话,并且删除所述第二CAP文件;
-合并所述第二导出文件与所述第一CAP文件以生成所述第一CAP文件与所述第二导出文件的第三组合,所述第三组合具有库能力和小应用包能力二者。
CN201780053715.5A 2016-09-02 2017-09-01 用作库包的java卡应用包的方法和设备 Active CN109643230B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16306107.0 2016-09-02
EP16306107.0A EP3291084A1 (en) 2016-09-02 2016-09-02 Java card application package used as a library package
PCT/EP2017/072010 WO2018042016A1 (en) 2016-09-02 2017-09-01 Java card application package used as a library package

Publications (2)

Publication Number Publication Date
CN109643230A CN109643230A (zh) 2019-04-16
CN109643230B true CN109643230B (zh) 2021-11-12

Family

ID=57083225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780053715.5A Active CN109643230B (zh) 2016-09-02 2017-09-01 用作库包的java卡应用包的方法和设备

Country Status (3)

Country Link
EP (2) EP3291084A1 (zh)
CN (1) CN109643230B (zh)
WO (1) WO2018042016A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599409B (zh) * 2022-11-30 2023-03-21 紫光同芯微电子有限公司 一种Java卡的应用程序安装方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986740A (zh) * 2010-09-14 2011-03-16 中国联合网络通信集团有限公司 一种java卡
CN102023885A (zh) * 2010-12-17 2011-04-20 北京握奇数据系统有限公司 一种存储Java卡运行时环境字节码的方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506175B2 (en) * 2000-11-06 2009-03-17 International Business Machines Corporation File language verification
US7155702B2 (en) * 2001-09-13 2006-12-26 Axalto Sa Interface and stub generation for code distribution and synthesis
EP1936574A1 (en) * 2006-12-01 2008-06-25 Cassis International PTE Ltd. CAP file for the personalisation of a Java application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986740A (zh) * 2010-09-14 2011-03-16 中国联合网络通信集团有限公司 一种java卡
CN102023885A (zh) * 2010-12-17 2011-04-20 北京握奇数据系统有限公司 一种存储Java卡运行时环境字节码的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Java卡的研究与实现;刘嵩岩 等;《微电子学》;20001231;第30卷(第6期);第402-405页 *

Also Published As

Publication number Publication date
EP3291084A1 (en) 2018-03-07
EP3507689A1 (en) 2019-07-10
EP3507689B1 (en) 2020-07-08
CN109643230A (zh) 2019-04-16
WO2018042016A1 (en) 2018-03-08

Similar Documents

Publication Publication Date Title
CN108172249B (zh) 一种NAND Flash访问操作方法、装置及系统
CN112667246B (zh) 应用功能扩展的方法、装置及电子设备
CN112882694A (zh) 一种程序编译方法、装置、电子设备及可读存储介质
CN113885935A (zh) 资源打包方法、装置、电子设备及计算机可读存储介质
WO2015057816A1 (en) Method and system for adaptive loading of application
CN109643230B (zh) 用作库包的java卡应用包的方法和设备
US10922682B2 (en) Java card application memory footprint optimization
CN110058904A (zh) 数据转移方法、装置及服务器
CN111880800B (zh) 应用下载方法与应用下载系统
CN104598409A (zh) 一种处理输入输出请求的方法及设备
WO2023143545A1 (zh) 资源处理方法、装置、电子设备及计算机可读存储介质
CN107391158B (zh) 一种基于iDataTable封装实现表格绘制的方法及设备
CN107463423B (zh) 依赖包工具的验证方法、存储介质、电子设备及系统
CN112423117B (zh) Web端视频播放方法、装置及计算机设备
CN114895981A (zh) 一种提高前端页面加载3d模型速度的方法、系统
CN113377376A (zh) 数据包生成方法、数据包生成装置、电子设备及存储介质
CN105933347A (zh) 一种获取应用程序中的数据资源的方法及装置
CN108874448B (zh) 实现在coredump文件中定位对象的方法及设备
CN113434149B (zh) 应用程序生成和加载方法、装置和介质
CN116700940B (zh) 一种基于封装类的请求处置方法及系统及装置及介质
CN110110073A (zh) 一种文字展示方法及装置
CN113268280B (zh) 动态加载插件的方法、装置及电子设备
US20240160501A1 (en) Interoperability between actor frameworks and asynchronous frameworks
CN114328453A (zh) Kv数据库数据管理方法、装置、计算设备及存储介质
CN113391792A (zh) 安卓平台使用字符串的方法、存储介质、电子设备及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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: French Meudon

Patentee after: Thales Digital Security France

Address before: French Meudon

Patentee before: GEMALTO S.A.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230403

Address after: French Meudon

Patentee after: Thales Digital Security France Easy Stock Co.

Address before: French Meudon

Patentee before: Thales Digital Security France