CN106406932B - 一种改进的Java卡初始化方法和Java卡 - Google Patents
一种改进的Java卡初始化方法和Java卡 Download PDFInfo
- Publication number
- CN106406932B CN106406932B CN201610739269.0A CN201610739269A CN106406932B CN 106406932 B CN106406932 B CN 106406932B CN 201610739269 A CN201610739269 A CN 201610739269A CN 106406932 B CN106406932 B CN 106406932B
- Authority
- CN
- China
- Prior art keywords
- java card
- initialization
- java
- data
- template 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开一种改进的Java卡初始化方法和Java卡,该方法包括4个阶段:阶段1,初始化模板数据提取和制作:通过正常的初始化流程,提取并制作初始化模板数据。阶段2,快速初始化Java卡平台工程制作:将初始化模板数据,以常数组形式加到Java卡平台工程中,制作快速初始化Java卡平台工程。阶段3,Java卡平台工程下载:将快速初始化Java卡平台下载到Java卡程序存储器中。阶段4,Java卡快速初始化操作:对的Java卡上电,执行Java卡快速初始化操作,将初始化模板数据写入到所述Java卡对应地址的非易失性存储器NVM中。本发明通过将初始化数据提前下载到Java卡程序存储器中,在Java卡初始化阶段整体复制到Java卡对应地址的NVM中,能够减少Java卡的初始化时间,提高Java卡的生产效率。
Description
技术领域
本发明涉及智能卡技术领域,尤其涉及一种改进的Java卡初始化方法和Java卡。
背景技术
平台工程下载后的Java卡在首次运行时,Java卡需要创建虚拟机所需的运行时环境数据,造成单张Java卡的初始化时间较长。在Java卡的生产过程中,当几万张Java卡需要批量进行初始化操作时,初始化慢的问题更加突出,严重的影响了Java卡的生产效率。
专利CN 102521094 A公布的初始化技术方案,通过指令的方式将运行时环境数据下载到Java卡中,指令中的运行时环境数据需要加密,并制作专用的初始化脚本指令流。因此,操作过程比较复杂。
发明内容
本发明提供了一种改进的Java卡初始化方法,用以加快Java卡的初始化速度,提高Java卡的生产效率。
本发明提供了一种改进的Java卡初始化方法,其特征在于,包括4个阶段:
阶段1,初始化模板数据的提取和制作。
阶段2,快速初始化Java卡平台工程制作。
阶段3,Java卡平台工程下载。
阶段4,Java卡快速初始化操作。
阶段1所述的初始化模板数据是通过搭建开发环境提取并制作的,具体的,将要进行下载的Java平台工程下载到所述的开发环境中,运行所述的Java卡平台工程,模拟正常的Java卡初始化流程,所述的运行时环境数据存储在所述的开发环境NVM区中。从所述的开发环境NVM区中读取到创建虚拟机所需的运行时环境数据。通过对所述的运行时环境数据信息进行提取,并制作成所述的初始化模板数据。
阶段2所述的快速初始化Java卡平台工程是通过修改现有的Java卡平台工程,将所述的初始化模板数据以常数组的形式加到平台工程中。同时,添加快速初始化APDU指令,从而制作了所述的快速初始化Java卡平台工程。
阶段3所述的Java卡平台工程下载是将所述的快速初始化Java卡平台工程下载到所述的Java卡程序存储器中。
阶段4所述的Java卡初始化操作具体是执行所述的快速初始化APDU指令,将所述的Java卡程序存储器中所述的初始化模板数据整体复制到Java卡的NVM中。
具体的,阶段1所述的初始化模板数据包括创建虚拟机所需的运行时环境数据,特殊的,包括但不限于包括Java卡的独有信息数据。
具体的,提取阶段1所述的初始化模板数据的开发环境包括但不限于仿真开发工具,仿真Java卡。
具体的,阶段2所述的快速初始化APDU指令,可以是现有的Java卡平台工程已经包含的指令,也可以是快速初始化Java卡平台工程中添加的指令。
具体的,阶段3所述的平台工程的下载和存储包括行业所公知的所有下载和存储方式,优选的,包括掩膜的方式、下载到ROM(Read Only Memory只读存储器)中的方式、下载到FLASH中的方式、下载到EEPROM中的方式,以及包括运行时将平台工程加载到RAM中运行的方式。
具体的,阶段4所述的Java卡初始化操作流程,包括但不限于对所述的初始化模板数据整体复制,以及包括更新Java卡的独有信息数据。
具体的,阶段4所述的初始化模板数据整体复制流程包括但不限于对Java卡NVM区数据的整体擦写,以及包括对Java卡对应地址NVM区数据的部分擦写。
本发明还提供了一种Java卡,所述的Java卡包括但不限于如下模块:
指令接收模块,用于接收命令。
状态检查模块,用于检查Java卡当前的状态是否由未初始化状态切换为初始化状态。
指令判断模块,用于对所述接收模块接收到的命令进行判断。
正常初始化操作模块,用于所述判断模块判断为正常初始化APDU指令时,执行正常的初始化操作。
快速初始化操作模块,用于所述判断模块判断为快速初始化APDU指令时,执行快速的初始化操作。
状态切换模块,用于所述的正常初始化操作模块,或者所述的快速初始化操作模块执行完毕后,切换Java卡的状态为己初始化。
本发明还提供了一种Java卡,所述的Java卡包括但不限于如下模块:
指令接收模块,用于接收命令。
状态检查模块,用于检查Java卡当前的状态是否由未初始化状态切换为初始化状态。
指令判断模块,用于对所述接收模块接收到的命令进行判断。
正常初始化操作模块,用于所述判断模块判断为正常初始化APDU指令时,执行正常的初始化操作。
快速初始化操作模块,用于所述判断模块判断为快速初始化APDU指令时,执行快速的初始化操作。
Java卡独有信息更新模块,用于更新这这张Java卡的独有信息。
状态切换模块,用于所述的正常初始化操作模块,或者所述的快速初始化操作模块执行完毕后,切换Java卡的状态为己初始化。
本发明提供的一种改进的Java卡初始化方法和Java卡,通过将初始化模块数据预下载到Java卡程序存储器中,可以保证数据的安全性,简化初始化模块数据的下载过程,加速了Java卡的初始化速度,提高了Java卡的生产效率。
附图说明
图1为本发明实施例1提供的一种改进的Java卡初始化方法流程图;
图2为本发明提供的一种Java卡初始化操作需要做的操作流程图;
图3为本发明实施例2提供的一种Java卡的结构图;
图4为本发明实施例3提供的另一种Java卡的结构图;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供了一种改进的Java卡初始化方法如图1所示,具体的:
步骤101,初始化模板数据的提取和制作。
步骤102,快速初始化Java卡平台工程制作。
步骤103,Java卡平台工程下载。
步骤104,Java卡初始化操作。
步骤101所述的初始化模板数据是通过搭建开发环境提取并制作的。具体的,将要进行下载的Java平台工程下载到所述的开发环境中,运行所述的Java卡平台工程,模拟正常的Java卡初始化流程,所述的运行时环境数据存储在所述的开发环境NVM区中。从所述的开发环境NVM区中读取到创建虚拟机所需的运行时环境数据。通过对所述的运行时环境数据信息进行提取,并制作成所述的初始化模板数据。
步骤102所述的Java卡初始化快速平台工程是通过修改现有的Java卡平台,将所述的初始化模板数据以常数组的形式加到平台代码中。同时,添加快速初始化APDU指令。从而,制作了所述的快速初始化Java卡平台工程。
步骤103所述的Java卡平台工程下载,是将步骤102所述的快速初始化Java卡平台工程下载到所述的Java卡的程序存储器中。
步骤104所述的Java卡初始化操作具体是执行所述的快速初始化APDU指令,将所述的Java卡的程序存储器中所述的初始化模板数据整体复制到Java卡的NVM中。
具体的,步骤101所述的初始化模板数据包括创建虚拟机所需的运行时环境数据,特殊的,包括但不限于包括Java卡的独有信息数据。
具体的,提取步骤101所述的初始化模板数据的开发环境包括但不限于仿真开发工具,仿真Java卡。
具体的,步骤102所述的快速初始化APDU指令,可以是现有的Java卡平台工程已经包含的指令,也可以是快速初始化Java卡平台工程中添加的指令。
具体的,步骤103所述的平台工程的下载和存储包括行业所公知的所有下载和存储方式,优选的,包括掩膜的方式、下载到ROM(Read Only Memory只读存储器)中的方式、下载到FLASH中的方式、下载到EEPROM中的方式,以及包括运行时将平台工程加载到RAM中运行的方式。
具体的,步骤104所述的Java卡初始化操作流程,包括但不限于对所述的初始化模板数据整体复制,以及包括更新Java卡的独有信息数据。
具体的,步骤104所述的初始化模板数据整体复制流程包括但不限于对Java卡NVM区数据的整体擦写,以及包括对Java卡对应地址NVM区数据的部分擦写。
具体的,步骤104所述的Java卡初始化操作需要做的操作流程如图2所示。
步骤201,Java卡上电。具体的,所述的Java卡为下载了快速初始化Java卡平台工程的Java卡。
步骤202,检查Java卡是否未初始化。所述的Java卡如果处于未初始化状态,则可以继续执行初始化指令;所述的Java卡如果处于初始化状态,则结束所述的步骤104。
步骤203,判断接收到的初始化指令是否为正常初始化APUD指令,如果是所述的正常初始化APUD指令,则执行步骤204,否则执行步骤205。
步骤204,正常的初始化操作过程。具体的,所述的正常的初始化操作过程为逐步创建Java虚拟机运行需要的运行时环境数据。
步骤205,判断接收到的初始化指令是否为快速初始化APDU指令,如果是所述的快速初始化APDU指令,则执行步骤206。否则,结束所述的步骤104。
步骤206,快速的初始化操作过程。具体的,所述的快速的初始化操作过程为将步骤104所述的Java卡的程序存储器中所述的初始化模板数据整体复制到Java卡的NVM中。
步骤207,切换Java卡状态为己初始化。Java卡状态的切换保证Java卡下次上电时不需要在进行重复初始化操作。
步骤208,结束。该步骤表示结束所述的步骤104需要执行的操作流程。
实施例2
本发明实施例2还提供了一种Java卡,如图3所示,所述的Java卡包括但不限于如下模块:
步骤301,指令接收模块,用于接收命令。
步骤302,状态检查模块,用于检查Java卡当前的状态是否由未初始化状态切换为初始化状态。
步骤303,指令判断模块,用于对所述接收模块接收到的命令进行判断。
步骤304,正常初始化操作模块,用于所述判断模块判断为正常初始化APDU指令时,执行正常的初始化操作。
步骤305,快速初始化操作模块,用于所述判断模块判断为快速初始化APDU指令时,执行快速的初始化操作。
步骤306,状态切换模块,用于所述的正常初始化操作模块,或者所述的快速初始化操作模块执行完毕后,切换Java卡的状态为己初始化。
实施例3
本发明实施例3还提供了一种Java卡,如图4所示,所述的Java卡包括但不限于如下模块:
步骤401,指令接收模块,用于接收命令。
步骤402,状态检查模块,用于检查Java卡当前的状态是否由未初始化状态切换为初始化状态。
步骤403,指令判断模块,用于对所述接收模块接收到的命令进行判断。
步骤404,正常初始化操作模块,用于所述判断模块判断为正常初始化APDU指令时,执行正常的初始化操作。
步骤405,快速初始化操作模块,用于所述判断模块判断为快速初始化APDU指令时,执行快速的初始化操作。
步骤406,Java卡独有信息更新模块,用于更新这这张Java卡的独有信息。
步骤407,状态切换模块,用于所述的正常初始化操作模块,或者所述的快速初始化操作模块执行完毕后,切换Java卡的状态为己初始化。
Claims (7)
1.一种改进的Java卡初始化方法,其特征在于,包括4个阶段:
阶段1,初始化模板数据的提取和制作;
阶段2,快速初始化Java卡平台工程制作;
阶段3,Java卡平台工程下载;
阶段4,Java卡快速初始化操作,通过仿真器、仿真java卡将模板数据提取出来,融入到产品代码;快速初始化APDU指令,先完成对模板数据的更新,更新每张卡片的Java平台数据后,再执行该指令的特定功能,减少指令通信和额外的数据传输。
2.如权利要求1所述的方法,其特征在于,所述的初始化模板数据是通过搭建开发环境提取并制作的,具体的是通过模拟正常的Java卡初始化流程,获取到创建虚拟机所需的运行时环境数据;对运行时环境数据进行提取,并制作成所述的初始化模板数据文件。
3.如权利要求1所述的方法,其特征在于,所述的快速初始化Java卡平台工程是通过修改现有的Java卡平台工程,将所述的初始化模板数据以常数组的形式加到平台工程中;同时,添加快速初始化APDU(Application Protocol Data Unit应用协议数据单元)指令将模板数据更新到卡片的数据区域,并完成每张卡片初始化,从而制作了所述的快速初始化Java卡平台工程。
4.如权利要求1所述的方法,其特征在于,所述的Java卡平台工程下载是将所述的快速初始化Java卡平台工程下载到Java卡程序存储器中。
5.如权利要求1所述的方法,其特征在于,所述的Java卡快速初始化操作具体是执行快速初始化APDU指令,将Java卡程序存储器中所述的初始化模板数据整体复制到Java卡的NVM(Non Volatile Memory非易失性存储器)中。
6.如权利要求2所述的方法,其特征在于,所述的开发环境包括行业所公知的所有开发环境,包括仿真开发工具、仿真Java卡。
7.如权利要求3所述的方法,其特征在于,所述的快速初始化APDU指令,包括现有的Java卡平台工程已经包含的指令,快速初始化Java卡平台工程中添加的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610739269.0A CN106406932B (zh) | 2016-08-26 | 2016-08-26 | 一种改进的Java卡初始化方法和Java卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610739269.0A CN106406932B (zh) | 2016-08-26 | 2016-08-26 | 一种改进的Java卡初始化方法和Java卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106406932A CN106406932A (zh) | 2017-02-15 |
CN106406932B true CN106406932B (zh) | 2020-01-07 |
Family
ID=58004651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610739269.0A Active CN106406932B (zh) | 2016-08-26 | 2016-08-26 | 一种改进的Java卡初始化方法和Java卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106406932B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489169B (zh) * | 2019-08-06 | 2021-10-19 | 晶晨半导体(上海)股份有限公司 | 一种片上系统的存储器快速启动方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360833A (zh) * | 2014-08-27 | 2015-02-18 | 北京中电华大电子设计有限责任公司 | 一种支持安全通道协议定制的java卡平台实现方法 |
CN105530088A (zh) * | 2015-09-01 | 2016-04-27 | 北京中电华大电子设计有限责任公司 | 一种安全的java卡密钥存储方法 |
CN105573814A (zh) * | 2015-09-01 | 2016-05-11 | 北京中电华大电子设计有限责任公司 | 一种java卡局部变量字节码采用芯片硬件解析执行的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7610585B2 (en) * | 2004-06-03 | 2009-10-27 | Intel Corporation | Thread synchronization methods and apparatus for managed run-time environments |
CN102521094B (zh) * | 2011-11-28 | 2013-11-13 | 飞天诚信科技股份有限公司 | 一种对java卡进行初始化的方法和java卡 |
CN102521145B (zh) * | 2011-12-23 | 2014-08-20 | 东信和平科技股份有限公司 | Java卡系统及其空间分配处理方法 |
-
2016
- 2016-08-26 CN CN201610739269.0A patent/CN106406932B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360833A (zh) * | 2014-08-27 | 2015-02-18 | 北京中电华大电子设计有限责任公司 | 一种支持安全通道协议定制的java卡平台实现方法 |
CN105530088A (zh) * | 2015-09-01 | 2016-04-27 | 北京中电华大电子设计有限责任公司 | 一种安全的java卡密钥存储方法 |
CN105573814A (zh) * | 2015-09-01 | 2016-05-11 | 北京中电华大电子设计有限责任公司 | 一种java卡局部变量字节码采用芯片硬件解析执行的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106406932A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106897090B (zh) | 一种嵌入式设备程序升级方法及系统 | |
CN103677915B (zh) | 一种基于TF启动卡进行flash镜像自动烧写的方法 | |
CN110399159A (zh) | 操作系统的部署方法、装置、计算机设备和存储介质 | |
US8448151B2 (en) | Method for binarizing initial script on operating system and operating method of binary script | |
CN106020905B (zh) | 一种微控制器固件开发与更新的方法及系统 | |
CN109614325B (zh) | 一种确定控件属性的方法及装置、电子设备和存储介质 | |
CN112241311A (zh) | 一种固件仿真模拟方法、装置、电子设备及可读存储介质 | |
CN109032612B (zh) | 混合型应用的接口调用方法、装置及计算机可读存储介质 | |
CN106406932B (zh) | 一种改进的Java卡初始化方法和Java卡 | |
CN104731626A (zh) | 应用的安装方法及装置 | |
CN107729043B (zh) | 增量升级包的校验方法、装置和计算机可读存储介质 | |
CN102033771B (zh) | 一种在Java Card中应用补丁程序的方法及装置 | |
CN105589710A (zh) | 一种远程升级方法及系统 | |
CN113946481B (zh) | Risc-v内核mcu调试的下载程序方法及调试器 | |
CN111399926A (zh) | 下载启动程序的方法和装置 | |
CN105204896A (zh) | 一种数字存储示波器的BootLoader设计方法 | |
CN115639779A (zh) | 用于分发和执行工业控制器中的软件扩展的系统和方法 | |
CN113760244A (zh) | 一种基于c语言方式实现多入口多接口的方法及系统 | |
CN113407187A (zh) | 构建文件系统的方法、装置、设备及计算机存储介质 | |
CN105577451A (zh) | 云电视系统的升级方法及装置 | |
CN111475220A (zh) | 冷启动方法、装置、电子设备及计算机存储介质 | |
CN116991471B (zh) | 安装包文件处理方法、装置、设备及存储介质 | |
CN118262764A (zh) | 非易失性存储器的数据擦除方法、装置和存储介质 | |
JP5402595B2 (ja) | ネイティブ型icカード、icカードos、及び方法 | |
CN114924775A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |