CN114968185A - 智能卡及其应用的运行方法、装置、存储介质及产品 - Google Patents

智能卡及其应用的运行方法、装置、存储介质及产品 Download PDF

Info

Publication number
CN114968185A
CN114968185A CN202110216916.0A CN202110216916A CN114968185A CN 114968185 A CN114968185 A CN 114968185A CN 202110216916 A CN202110216916 A CN 202110216916A CN 114968185 A CN114968185 A CN 114968185A
Authority
CN
China
Prior art keywords
application
smart card
applications
java
target
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.)
Pending
Application number
CN202110216916.0A
Other languages
English (en)
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.)
Shenzhen Goodix Technology Co Ltd
Original Assignee
Shenzhen Goodix Technology 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 Shenzhen Goodix Technology Co Ltd filed Critical Shenzhen Goodix Technology Co Ltd
Priority to CN202110216916.0A priority Critical patent/CN114968185A/zh
Priority to PCT/CN2021/140196 priority patent/WO2022179274A1/zh
Publication of CN114968185A publication Critical patent/CN114968185A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种智能卡及其应用的运行方法、装置、存储介质及产品,其中,方法包括:接收外部设备的第一通信指令;根据目标应用标识,确定目标应用的目标应用类型;根据目标应用类型,确定目标应用对应的应用管理器;通过目标应用对应的应用管理器运行目标应用。在本申请中,智能卡上可以同时安装JAVA应用以及开发语言与JAVA应用不同的其他应用,从而提高智能卡对不同开发语言的应用的兼容性;另外,用户可以根据实际情况选择开发/使用不同语言的应用,相比于传统的智能卡,本申请中智能卡可以兼容的开发语言类型更多,从而可以安装的应用的类型也更多,进而有助于提高智能卡中应用的可扩展性。

Description

智能卡及其应用的运行方法、装置、存储介质及产品
技术领域
本申请涉及智能卡技术领域,尤其涉及一种智能卡及其应用的运行方法、装置、存储介质及产品。
背景技术
智能卡,也称CPU卡,其内部的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPROM)以及芯片操作系统(Chip OnSystem,COS)。装有COS的智能卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理和数据安全保护等功能。
现有的智能卡普遍安装有JAVA应用(Java Card Applet),智能卡可以通过JAVA应用实现不同的功能,JAVA应用具体例如金融应用、交通应用或者公民网络电子身份标识(Electronic Identity,Eid)应用等。
然而,JAVA应用为通过JAVA语言开发的应用,由于技术归属因素,以及JAVA应用的安装依赖于JAVA虚拟机(Java Virtual Machine,JVM)等原因,导致智能卡中应用的可扩展性较差。
发明内容
本申请提供一种智能卡及其应用的运行方法、装置、存储介质及产品,用以解决现有技术存在的问题。
第一方面,本申请提供一种智能卡应用的运行方法,包括:
接收外部设备的第一通信指令,所述第一通信指令包括所述外部设备所选择的目标应用的目标应用标识;
根据所述目标应用标识,以及预存储的应用标识与应用类型的对应关系,确定所述目标应用的目标应用类型;其中,所述应用类型包括JAVA应用以及开发语言与JAVA应用不同的其他应用;
根据所述目标应用类型,确定所述目标应用对应的应用管理器,所述应用管理器包括JAVA虚拟机以及与所述其他应用的开发语言对应的其他应用管理器;
通过所述目标应用对应的应用管理器运行所述目标应用。
在一些实施例中,所述根据所述目标应用类型,确定所述目标应用对应的应用管理器,包括:
若所述目标应用类型为JAVA应用,确定所述应用管理器为JAVA虚拟机;
若所述目标应用类型为其他应用,确定所述应用管理器为与所述其他应用的开发语言对应的其他应用管理器。
在一些实施例中,还包括:
接收所述外部设备的第二通信指令,所述第二通信指令包括待安装应用的应用标识以及应用类型;
根据所述应用类型,确定所述待安装应用对应的安装位置;
根据所述待安装应用对应的安装位置安装所述待安装应用,并保存所述应用标识与所述应用类型的对应关系。
在一些实施例中,所述根据所述应用类型,确定所述待安装应用对应的安装位置,包括:
若所述待安装应用为所述其他应用,则确定将所述待安装应用安装于所述智能卡的芯片操作系统,且所述待安装应用独立于所述JAVA虚拟机安装;
若所述待安装应用为JAVA应用,则确定将所述待安装应用安装于所述JAVA虚拟机。
在一些实施例中,还包括:
检测所述智能卡上已安装的应用中是否存在与所述待安装应用的应用标识相同的重复应用;
若存在,则在将所述重复应用删除后,根据所述待安装应用对应的安装位置安装所述待安装应用。
第二方面,本申请提供一种智能卡应用的运行装置,包括:
指令接收模块,用于接收外部设备的第一通信指令,所述第一通信指令包括所述外部设备所选择的目标应用的目标应用标识;
第一确定模块,用于根据所述目标应用标识,以及预存储的应用标识与应用类型的对应关系,确定所述目标应用的目标应用类型;其中,所述应用类型包括JAVA应用以及开发语言与JAVA应用不同的其他应用;
第二确定模块,用于根据所述目标应用类型,确定所述目标应用对应的应用管理器,所述应用管理器包括JAVA虚拟机以及与所述其他应用的开发语言对应的其他应用管理器;
应用运行模块,用于通过所述目标应用对应的应用管理器运行所述目标应用。
第三方面,本申请提供一种智能卡,包括:硬件层、软件层以及应用层;
所述应用层包括JAVA应用以及开发语言与JAVA应用不同的其他应用;
所述软件层包括芯片操作系统,所述应用层的应用安装于所述芯片操作系统;
所述硬件层包括微处理器,所述微处理器用于对所述应用层的应用进行管理,以及,对所述智能卡与外部设备的通信进行管理。
在一些实施例中,所述JAVA应用安装于所述芯片操作系统中的JAVA虚拟机,所述其他应用安装于所述芯片操作系统,且所述其他应用独立于所述JAVA虚拟机安装。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述的智能卡应用的运行方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的智能卡应用的运行方法。
本申请提供的智能卡及其应用的运行方法、装置、存储介质及产品,其中,方法包括:接收外部设备的第一通信指令,第一通信指令包括外部设备所选择的目标应用的目标应用标识;根据目标应用标识,以及预存储的应用标识与应用类型的对应关系,确定目标应用的目标应用类型;其中,应用类型包括JAVA应用以及开发语言与JAVA应用不同的其他应用;根据目标应用类型,确定目标应用对应的应用管理器,应用管理器包括JAVA虚拟机以及与其他应用的开发语言对应的其他应用管理器;通过目标应用对应的应用管理器运行目标应用。在本申请中,智能卡上可以同时安装JAVA应用以及开发语言与JAVA应用不同的其他应用,从而提高智能卡对不同开发语言的应用的兼容性;另外,用户可以根据实际情况选择开发/使用不同语言的应用,相比于传统的智能卡,本申请中智能卡可以兼容的开发语言类型更多,从而可以安装的应用的类型也更多,进而有助于提高智能卡中应用的可扩展性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为现有技术中JAVA应用的软件运行环境示意图;
图2为本申请的方案的应用场景的示意图;
图3为本申请实施例提供的智能卡应用的运行方法的示意图;
图4为本申请实施例提供的外部设备通过通信指令在智能卡上进行应用安装的示意图;
图5为本申请实施例中智能卡的结构示意图;
图6为本申请实施例提供的智能卡应用的运行装置的示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的商品或者系统中还存在另外的相同要素。
智能卡是一种内嵌微处理器及硬件资源、片上系统和特定应用的卡片式集成电路系统,具有用户空间大、读取速度快等特点,由于智能卡支持安装多个应用,因此具备一卡多用的功能。
智能卡可以通过JAVA应用实现不同的功能,图1为现有技术中JAVA应用的软件运行环境示意图,如图1所示,智能卡中的JAVA应用例如可以是金融应用、交通应用或者Eid应用等,上述JAVA应用可以通过全球平台国际标准组织(Global Platform,GP)所约定的指令下载安装到智能卡的操作系统(Operation System,OS)中,具体为安装在操作系统中的JAVA虚拟机内,并通过GP指令与外部设备进行通信。
另外,智能卡还包括安全元素系统(Secure Elements System,SE System),以保证智能卡的安全性能。
根据图1所示的结构,现有的智能卡具备以下特性:(1)多种不同的JAVA应用可以集成到一个操作系统内;(2)JAVA应用的安装以及运行需要依赖JAVA虚拟机,即JAVA应用的运行环境受到一定的限制。
但同时,上述特性也导致现有的智能卡也会存在以下问题:
(1)由于智能卡中底层的系统通常是使用C语言开发,部分安全环境的接口不会使用软件开发工具包(Software Development Kit,JAVA SDK)的方式提供,因此导致安全接口的支持程度有限;
(2)JAVA应用的安装以及运行需要依赖JAVA虚拟机,因此Java Card技术的使用需要获得JAVA技术方的技术授权,在未授权的情况下,无法进行JAVA应用的开发及使用,从而导致适用范围受限。
因此,由于上述一系列问题的存在,导致智能卡中应用的可扩展性较差,且适用范围有限。
本申请提供的智能卡及其应用的运行方法、装置、存储介质及产品,旨在解决现有技术的如上技术问题。
本申请方案的主要构思为:本申请中,除了JAVA应用,还包括开发语言与JAVA应用不同的其他应用,也就是说,智能卡可以同时安装多种不同开发语言的应用,而不仅仅局限于JAVA应用,从而提高智能卡对不同开发语言的应用的兼容性;另外,用户可以根据实际情况选择开发/使用不同语言的应用,相比于传统的智能卡,本申请中智能卡可以兼容的开发语言类型更多,从而可以安装的应用的类型也更多,进而有助于提高智能卡中应用的可扩展性。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
首先,对本申请涉及的应用场景进行解释说明:
图2为本申请的方案的应用场景的示意图,如图2所示,智能卡10可以通过GP指令与外部设备20(Device Host,DH)进行通信,外部设备20可以是各种读卡设备,其通过通信指令选择并启动智能卡10上的应用以实现对应的功能。例如,外部设备20选择并启动智能卡10上的金融应用以开展金融相关的业务等。
参考图2,智能卡10包括:硬件层11、软件层12以及应用层13。
应用层13包括JAVA应用以及开发语言与JAVA应用不同的其他应用。
其中,其他应用的开发语言与JAVA应用不同,即其他应用不属于通过JAVA开发得到的应用,例如,其他应用具体可以是通过C语言开发得到的C语言应用,或者是通过Python开发得到的Python应用等。
可选的,其他应用具体可以是C语言应用,由于智能卡中底层的系统通常是使用C语言开发,通过使用C语言应用,因此提高安全接口的支持程度。具体的,在其他应用具体为C语言应用时,本申请中智能卡可以是同时安装JAVA应用以及C语言应用。
软件层12包括芯片操作系统,应用层的应用安装于芯片操作系统。
其中,芯片操作系统包括应用管理器,应用管理器具体包括JAVA虚拟机以及与其他应用的开发语言对应的其他应用管理器。JAVA应用安装于JAVA虚拟机,开发语言与JAVA应用不同的其他应用安装于对应的其他应用管理器,该其他应用管理器具体是指与其他应用的开发语言对应的应用管理器,即其他应用独立于JAVA虚拟机安装,因此,其他应用的安装及运行无需依赖JAVA虚拟机。
例如,若其他应用为C语言应用,则对应的其他应用管理器可以是C语言应用管理器。通过C语言应用管理器可以实现C语言应用的安装及运行,而无需依赖JAVA虚拟机。
硬件层11包括微处理器,微处理器用于对应用层的应用进行管理,以及,对智能卡与外部设备的通信进行管理。例如,微处理器可以进行应用层的安装及使用管理等。
可以理解,本申请中智能卡应用的运行方法的处理步骤可以由智能卡实现,具体可以是由智能卡中的微处理器实现。
可选的,硬件层11还可以包括I/O端口(Input/Output端口,输入输出端口)等,从而智能卡可以通过I/O端口与外部设备进行有线连接。
图3为本申请实施例提供的智能卡应用的运行方法的示意图,如图3所示,以方法应用于图2所示的智能卡为例进行解释说明,该方法主要包括以下步骤:
S100、接收外部设备的第一通信指令,第一通信指令包括外部设备所选择的目标应用的目标应用标识。
在智能卡与外部设备建立通信连接后,外部设备通过向智能卡发送第一通信指令以选择当前进行的业务所需要运行的目标应用,该第一通信指令包括该目标应用的目标应用标识(Application Identifier,AID),目标AID与应用具有对应关系,通过识别指令中的目标AID即可以识别对应的应用。
S200、根据目标应用标识,以及预存储的应用标识与应用类型的对应关系,确定目标应用的目标应用类型;其中,应用类型包括JAVA应用以及开发语言与JAVA应用不同的其他应用。
具体的,智能卡上已安装应用的应用类型可以是同时包括JAVA应用以及开发语言与JAVA应用不同的其他应用,也就是说,智能卡上可以同时安装多种不同开发语言的应用。基于此,智能卡在接收到外部设备发送的第一通信指令后,首先根据目标应用标识以及预存储的应用标识与应用类型的对应关系,确定目标应用的目标应用类型。
例如,假设智能卡上已安装应用的应用类型包括JAVA应用以及C语言应用,则智能卡在接收到第一通信指令后,首先根据第一通信指令中的目标AID来判断外部设备所选择的目标应用是属于JAVA应用还是C语言应用。
S300、根据目标应用类型,确定目标应用对应的应用管理器,应用管理器包括JAVA虚拟机以及与其他应用的开发语言对应的其他应用管理器。
对于智能卡中所安装的应用,由于开发语言的不同,其对应的应用管理器的类型也不同,而应用的应用启动以及应用消息转发等流程依赖于该应用对应的应用管理器,因此,智能卡在确定目标应用的目标应用类型后,根据该目标应用类型来确定目标应用对应的应用管理器。
S400、通过目标应用对应的应用管理器运行目标应用。
智能卡在确定目标应用对应的应用管理器后,可以通过目标应用对应的应用管理器运行目标应用,从而完成应用的应用启动操作,并通过启动后的应用实现相应的功能。
本实施例提供一种智能卡应用的运行方法,其中,智能卡上可以同时安装JAVA应用以及开发语言与JAVA应用不同的其他应用,从而提高智能卡对不同开发语言的应用的兼容性;另外,用户可以根据实际情况选择开发/使用不同语言的应用,相比于传统的智能卡,本申请中智能卡可以兼容的开发语言类型更多,从而可以安装的应用的类型也更多,进而有助于提高智能卡中应用的可扩展性。
在一些实施例中,根据目标应用类型,确定目标应用对应的应用管理器,包括:
S310、若目标应用类型为JAVA应用,确定应用管理器为JAVA虚拟机;
S320、若目标应用类型为其他应用,确定应用管理器为与其他应用的开发语言对应的其他应用管理器。
对于智能卡中所安装的应用,由于开发语言的不同,其对应的应用管理器的类型也不同,而应用的应用启动以及应用消息转发等流程依赖于该应用对应的应用管理器,因此,智能卡在确定目标应用的目标应用类型后,根据该目标应用类型来确定目标应用对应的应用管理器。
具体的,对于JAVA应用,其安装及运行依赖于JAVA虚拟机,因此,确定JAVA应用对应的应用管理器为JAVA虚拟机;而对于开发语言与JAVA应用不同的其他应用,其安装及运行依赖于开发语言与该应用相同的应用管理器,因此,确定其他应用对应的应用管理器为与其他应用的开发语言对应的其他应用管理器。
例如,假设智能卡上已安装应用的应用类型包括JAVA应用以及C语言应用,若智能卡根据目标AID确定目标应用为C语言应用,则确定目标应用对应的应用管理器为C语言应用管理器;同理,若目标应用为JAVA应用,则确定目标应用对应的应用管理器为JAVA虚拟机。
在一些实施例中,方法还包括外部设备通过通信指令在智能卡上进行应用安装的步骤。
图4为本申请实施例提供的外部设备通过通信指令在智能卡上进行应用安装的示意图,如图4所示,外部设备通过通信指令在智能卡上进行应用安装的处理流程包括以下步骤:
S510、接收外部设备的第二通信指令,第二通信指令包括待安装应用的应用标识以及应用类型;
S520、根据应用类型,确定待安装应用对应的安装位置;
S530、根据待安装应用对应的安装位置安装待安装应用,并保存应用标识与应用类型的对应关系。
具体的,在智能卡与外部设备建立通信连接后,外部设备首先向智能卡发送应用安装请求,智能卡基于该应用安装请求向外部设备发送相应的应答消息,该应答消息例如可以是允许安装应用或者是禁止安装应用。
在外部设备接收到智能卡的应答消息为允许安装应用时,外部设备通过向智能卡发送第二通信指令以将待安装的应用上传至智能卡进行应用安装,该第二通信指令具体包括待安装应用的应用标识以及应用类型;可选的,第二通信指令也可以包括待安装应用的应用数据等内容。
对于不同开发语言的应用,对应的应用管理器也不同,因此,智能卡在安装不同开发语言的应用时,首先确定根据应用类型确定待安装应用对应的安装位置,进而根据待安装应用对应的安装位置安装待安装应用,该安装位置与应用对应的应用管理器相关,从而便于应用管理器对应用进行管理。
需要说明的是,在进行应用安装的过程中,智能卡将所安装的应用的应用标识与应用类型的对应关系进行保存,从而,若终端设备在选择启动所安装的应用时,智能卡可以根据终端设备所发送的目标应用的目标AID来确定对应的应用类型,进而确定目标应用对应的应用管理器。
在一些实施例中,根据应用类型,确定待安装应用对应的安装位置,包括:
S522、若待安装应用为其他应用,则确定将待安装应用安装于芯片操作系统,且待安装应用独立于JAVA虚拟机安装;
S524、若待安装应用为JAVA应用,则确定将待安装应用安装于JAVA虚拟机。
具体的,应用类型包括JAVA应用以及与JAVA应用不同的其他应用,其他应用例如C语言应用或者Python应用等。
在待安装应用为JAVA应用时,由于JAVA应用的运行环境依赖于JAVA虚拟机,因此将待安装应用安装于JAVA虚拟机;另外,在待安装应用为其他应用时,可以确定将待安装应用安装于芯片操作系统,且待安装应用独立于JAVA虚拟机安装,具体的,可以是将其他应用安装与对应的应用管理器,从而,属于其他应用的待安装应用的安装无需依赖于JAVA虚拟机。
在一些实施例中,外部设备通过通信指令在智能卡上进行应用安装时,智能卡的处理流程还包括:
检测智能卡上已安装的应用中是否存在与待安装应用的应用标识相同的重复应用;若存在,则在将重复应用删除后,根据待安装应用对应的安装位置安装待安装应用。
具体的,每个应用均对应一个应用标识AID,但是可能出现两个不同的应用对应同一个AID的情况,智能卡在对已安装的应用进行管理时,需要保证同一个AID只对应一个已安装的应用,因此,智能卡在安装待安装应用之前,还包括检测智能卡上已安装的应用中是否存在与待安装应用的应用标识相同的重复应用的步骤。
可选的,智能卡上存储有已安装应用对应的AID列表,智能卡可以将待安装应用的AID与该AID列表中的各AID进行比对,以确定该待安装应用的AID是否存在与AID列表中,若存在,则说明智能卡上已安装的应用中存在与待安装应用的应用标识相同的重复应用;若不存在,则说明智能卡上不存在与待安装应用的应用标识相同的重复应用。
在智能卡确定存在与待安装应用的应用标识相同的重复应用时,首先将该重复应用删除,然后再根据待安装应用对应的安装位置安装待安装应用。在智能卡确定不存在与待安装应用的应用标识相同的重复应用时,则可以直接根据待安装应用对应的安装位置安装待安装应用。
本实施例在进行智能卡的应用安装时,通过检测智能卡上已安装的应用中是否存在与待安装应用的应用标识相同的重复应用,可以保证智能卡上已安装的所有应用的AID均不相同,即一个AID只对应一个应用,从而便于智能卡根据AID进行应用管理。
在一些实施例中,智能卡中的应用层可以是仅包括开发语言与JAVA应用不同的其他应用,也就是说,智能卡也可以是不包括JAVA应用。
图5为本申请实施例中智能卡的结构示意图,如图5所示,智能卡10的应用层13仅包括其他应用,例如,包括C语言应用,和/或,包括Python应用等。
相应的,智能卡的软件层12包括芯片操作系统,芯片操作系统包括应用管理器,应用管理器具体包括与其他应用的开发语言对应的其他应用管理器,而不包括JAVA虚拟机。
可以理解,软件层12中应用管理器的类型与应用层13中所包含的应用的类型相对应。例如,在应用层仅包括C语言应用或者Python应用中的任一种时,应用管理器也仅包括C语言应用管理器或者Python应用管理器中的一种。而在应用层同时包括C语言应用以及Python应用时,应用管理器也同时包括C语言应用管理器以及Python应用管理器。
需要说明的是,在智能卡中应用的开发语言为至少两种时,智能卡应用的运行方法与前述实施例中的原理相同,在此不再赘述。
另外,在智能卡中应用的开发语言仅为一种时,智能卡可以直接按照预定的应用管理器执行应用运行处理,或者根据预定的安装位置来执行应用安装处理,而无需确定应用的应用类型。
本实施例中,智能卡仅安装有开发语言与JAVA应用不同的其他应用,例如C语言应用或者Python应用等,相比于JAVA应用,由于无需依赖于JAVA虚拟机,从而可以降低智能卡的应用的开发成本。
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一些实施例中,提供一种智能卡应用的运行装置。图6为本申请实施例提供的智能卡应用的运行装置的示意图,如图6所示,该装置包括:
指令接收模块100,用于接收外部设备的第一通信指令,第一通信指令包括外部设备所选择的目标应用的目标应用标识;
第一确定模块200,用于根据目标应用标识,以及预存储的应用标识与应用类型的对应关系,确定目标应用的目标应用类型;其中,应用类型包括JAVA应用以及开发语言与JAVA应用不同的其他应用;
第二确定模块300,用于根据目标应用类型,确定目标应用对应的应用管理器,应用管理器包括JAVA虚拟机以及与其他应用的开发语言对应的其他应用管理器;
应用运行模块400,用于通过目标应用对应的应用管理器运行目标应用。
关于智能卡应用的运行装置的具体限定可以参见上文中对于智能卡应用的运行方法的限定,在此不再赘述。上述智能卡应用的运行装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请提供一种智能卡应用的运行装置,其中,智能卡上可以同时安装JAVA应用以及开发语言与JAVA应用不同的其他应用,从而提高智能卡对不同开发语言的应用的兼容性;另外,用户可以根据实际情况选择开发/使用不同语言的应用,相比于传统的智能卡,本申请中智能卡可以兼容的开发语言类型更多,从而可以安装的应用的类型也更多,进而有助于提高智能卡中应用的可扩展性。
在一些实施例中,第二确定模块300还用于:若目标应用类型为JAVA应用,确定应用管理器为JAVA虚拟机;若目标应用类型为其他应用,确定应用管理器为与其他应用的开发语言对应的其他应用管理器。
在一些实施例中,指令接收模块100还用于:接收外部设备的第二通信指令,第二通信指令包括待安装应用的应用标识以及应用类型。
智能卡应用的运行装置还包括:应用安装模块,用于根据应用类型,确定待安装应用对应的安装位置;根据待安装应用对应的安装位置安装待安装应用,并保存应用标识与应用类型的对应关系。
在一些实施例中,应用安装模块还用于:若待安装应用为其他应用,则确定将待安装应用安装于芯片操作系统,且待安装应用独立于JAVA虚拟机安装;若待安装应用为JAVA应用,则确定将待安装应用安装于JAVA虚拟机。
在一些实施例中,应用安装模块还用于:检测智能卡上已安装的应用中是否存在与待安装应用的应用标识相同的重复应用;若存在,则在将重复应用删除后,根据待安装应用对应的安装位置安装待安装应用。
在一些实施例中,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现本申请各方法实施例的步骤。
在一些实施例中,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请各方法实施例的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (10)

1.一种智能卡应用的运行方法,其特征在于,包括:
接收外部设备的第一通信指令,所述第一通信指令包括所述外部设备所选择的目标应用的目标应用标识;
根据所述目标应用标识,以及预存储的应用标识与应用类型的对应关系,确定所述目标应用的目标应用类型;其中,所述应用类型包括JAVA应用以及开发语言与JAVA应用不同的其他应用;
根据所述目标应用类型,确定所述目标应用对应的应用管理器,所述应用管理器包括JAVA虚拟机以及与所述其他应用的开发语言对应的其他应用管理器;
通过所述目标应用对应的应用管理器运行所述目标应用。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标应用类型,确定所述目标应用对应的应用管理器,包括:
若所述目标应用类型为JAVA应用,确定所述应用管理器为JAVA虚拟机;
若所述目标应用类型为其他应用,确定所述应用管理器为与所述其他应用的开发语言对应的其他应用管理器。
3.根据权利要求1所述的方法,其特征在于,还包括:
接收所述外部设备的第二通信指令,所述第二通信指令包括待安装应用的应用标识以及应用类型;
根据所述应用类型,确定所述待安装应用对应的安装位置;
根据所述待安装应用对应的安装位置安装所述待安装应用,并保存所述应用标识与所述应用类型的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述根据所述应用类型,确定所述待安装应用对应的安装位置,包括:
若所述待安装应用为所述其他应用,则确定将所述待安装应用安装于所述智能卡的芯片操作系统,且所述待安装应用独立于所述JAVA虚拟机安装;
若所述待安装应用为JAVA应用,则确定将所述待安装应用安装于所述JAVA虚拟机。
5.根据权利要求3所述的方法,其特征在于,还包括:
检测所述智能卡上已安装的应用中是否存在与所述待安装应用的应用标识相同的重复应用;
若存在,则在将所述重复应用删除后,根据所述待安装应用对应的安装位置安装所述待安装应用。
6.一种智能卡应用的运行装置,其特征在于,包括:
指令接收模块,用于接收外部设备的第一通信指令,所述第一通信指令包括所述外部设备所选择的目标应用的目标应用标识;
第一确定模块,用于根据所述目标应用标识,以及预存储的应用标识与应用类型的对应关系,确定所述目标应用的目标应用类型;其中,所述应用类型包括JAVA应用以及开发语言与JAVA应用不同的其他应用;
第二确定模块,用于根据所述目标应用类型,确定所述目标应用对应的应用管理器,所述应用管理器包括JAVA虚拟机以及与所述其他应用的开发语言对应的其他应用管理器;
应用运行模块,用于通过所述目标应用对应的应用管理器运行所述目标应用。
7.一种智能卡,其特征在于,包括:硬件层、软件层以及应用层;
所述应用层包括JAVA应用以及开发语言与JAVA应用不同的其他应用;
所述软件层包括芯片操作系统,所述应用层的应用安装于所述芯片操作系统;
所述硬件层包括微处理器,所述微处理器用于对所述应用层的应用进行管理,以及,对所述智能卡与外部设备的通信进行管理。
8.根据权利要求7所述的智能卡,其特征在于,所述JAVA应用安装于所述芯片操作系统中的JAVA虚拟机,所述其他应用安装于所述芯片操作系统,且所述其他应用独立于所述JAVA虚拟机安装。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述如权利要求1-5任一项所述的智能卡应用的运行方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现上述如权利要求1-5任一项所述的智能卡应用的运行方法。
CN202110216916.0A 2021-02-26 2021-02-26 智能卡及其应用的运行方法、装置、存储介质及产品 Pending CN114968185A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110216916.0A CN114968185A (zh) 2021-02-26 2021-02-26 智能卡及其应用的运行方法、装置、存储介质及产品
PCT/CN2021/140196 WO2022179274A1 (zh) 2021-02-26 2021-12-21 智能卡及其应用的运行方法、装置、存储介质及产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110216916.0A CN114968185A (zh) 2021-02-26 2021-02-26 智能卡及其应用的运行方法、装置、存储介质及产品

Publications (1)

Publication Number Publication Date
CN114968185A true CN114968185A (zh) 2022-08-30

Family

ID=82973004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110216916.0A Pending CN114968185A (zh) 2021-02-26 2021-02-26 智能卡及其应用的运行方法、装置、存储介质及产品

Country Status (2)

Country Link
CN (1) CN114968185A (zh)
WO (1) WO2022179274A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621857B (zh) * 2008-06-30 2011-11-30 中兴通讯股份有限公司 移动通信终端应用的操作控制方法及应用管理器
CN102339231A (zh) * 2010-07-20 2012-02-01 中国电信股份有限公司 集中管理和展现各种类型应用的系统和方法
CN102054173B (zh) * 2010-12-24 2013-03-13 北京握奇数据系统有限公司 在智能卡上集成多电信应用的方法及其智能卡
CN103914713B (zh) * 2012-12-30 2017-05-31 北京握奇数据系统有限公司 一种改变智能卡应用类型的方法、智能终端、服务平台与系统

Also Published As

Publication number Publication date
WO2022179274A1 (zh) 2022-09-01

Similar Documents

Publication Publication Date Title
JP5607170B2 (ja) 安全なポータブルオブジェクト
CN101755271A (zh) 用于在连接受限设备配置和开放服务网关联盟环境中管理访问特权的方法和装置
CN109039751B (zh) 配置路由的方法、装置、计算机设备和存储介质
US8677508B2 (en) Confidential information leakage prevention system, confidential information leakage prevention method and confidential information leakage prevention program
US10735559B2 (en) Limited-resource java card device
US11307905B2 (en) Method and a device comprising an edge cloud agent for providing a service
CN110633160A (zh) 接口调用方法、装置、计算机设备和存储介质
EP3333701B1 (en) Method for implementing host card emulation, terminal, and data routing method and apparatus
CN110222535A (zh) 区块链配置文件的处理装置、方法及存储介质
CN112953745A (zh) 服务调用方法、系统、计算机设备和存储介质
CN108366132B (zh) 服务器间的服务管理方法、装置、计算机设备和存储介质
CN114707147A (zh) 业务请求处理方法及电子设备
US20150106871A1 (en) System and method for controlling access to security engine of mobile terminal
CN114217878A (zh) 一种对象加载方法及系统
CN114968185A (zh) 智能卡及其应用的运行方法、装置、存储介质及产品
CN106982428B (zh) 一种安全配置方法,安全控制装置及安全配置装置
US11698994B2 (en) Method for a first start-up operation of a secure element which is not fully customized
CN111885568B (zh) 近场通信配置参数的加载方法、装置、电子设备
CN117616389A (zh) 安全元件中可执行加载文件的替换
CN113641987A (zh) 应用静默安装的拦截方法、装置和计算机设备
CN113127097A (zh) 应用的启动方法、装置、设备和存储介质
CN112422281A (zh) 一种更改安全模块中密钥的方法及系统
EP3608816A1 (en) Processing system and method of executing functions
KR101101322B1 (ko) 응용 프로그램 인증 방법 및 장치
CN112511654B (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