JavaEE平台构建方法、JavaEE平台及云端系统与流程

文档序号:12463134阅读:161来源:国知局
JavaEE平台构建方法、JavaEE平台及云端系统与流程

本发明实施例涉及智能卡模拟技术领域,尤其涉及一种Java EE平台构建方法、Java EE平台及云端系统。



背景技术:

云端卡模拟技术,是一种是基于云端系统技术的智能卡模拟技术。目前主流的云端卡模拟系统,具有数据安全性高,不易被恶意攻击和篡改的特点,十分适合替代智能卡的安全模块(Secure Element,SE)技术,确保卡片数据的安全性。

Java Card Applet应用(以下简称Applet)是一种基于Java语言编写的运行在智能卡中的应用程序。具体的,Applet应用是基于Java Card编程接口(Java CardApplication Programming Interface,JC API)开发的,JC API是Java编程语言的子集。

在现有技术中,云端卡模拟系统及相关技术是使用Java企业级开发环境(以下简称Java EE)进行开发的。而要实现一个特定的云端卡模拟系统,需要在服务器开发环境下重新进行开发,编程接口及运行机制会与实体的智能卡片大不相同。

当相同功能卡片的Applet应用程序需要分别部署到Java Card平台和Java EE平台时,开发人员往往需要编写两套逻辑相近但风格迥异的代码,从而使开发工作变得更加繁重,并且由于应用在两个平台的代码不一致,更会导致应用的可维护性降低。



技术实现要素:

本发明实施例提供一种Java EE平台构建方法、Java EE平台及云端系统,能够实现快速开发Java EE Applet应用程序。

第一方面,本发明实施例提供了一种Java EE平台构建方法,包括:

将Java Card平台的底层类库移植至Java EE平台中;

根据所述底层类库构建所述Java EE平台的Java Card中间层类库。

第二方面,本发明实施例还提供了一种Java EE平台,包括Java Card中间层类库;

所述Java Card中间层类库根据Java Card平台的底层类库构建。

第三方面,本发明实施例还提供了一种云端系统,包括:上述第二方面所述的Java EE平台和/或基于所述Java EE平台开发的Java EE Applet应用程序。

第四方面,本发明实施例还提供了一种云端卡模拟系统,包括上述第三方面所述的云端系统。

第五方面,本发明实施例还提供了一种基于上述第四方面所述的云端卡模拟系统的云端卡模拟方法,包括:

云端系统确定接收到的指令请求的类型;

所述云端系统根据所述类型确定对应的处理策略,并根据所述处理策略生成对应的响应数据。

本发明实施例通过将Java Card平台的底层类库移植至Java EE平台中,使开发人员只需要在现有的Java Card Applet应用程序的基础上进行微小的改动即可在移植后的Java EE平台上运行,能够实现快速开发Java EE Applet应用程序。

附图说明

图1是本发明实施例一中的一种Java EE平台构建方法的流程图;

图2是本发明实施例二中的一种Java EE平台的结构图;

图3是本发明实施例三中的一种云端系统的结构图;

图4是本发明实施例四中的一种云端卡模拟系统的结构图;

图5是本发明实施例五中的一种基于实施例四中的云端卡模拟系统的云端卡模拟方法的流程图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种Java EE平台构建方法的流程图,本实施例可适用于将基于Java Card平台开发的Java Card应用程序运行在Java EE平台的情况,如图1所示,具体包括:

S110、将Java Card平台的底层类库移植至Java EE平台中。

其中,Java Card底层类库包含了至少以下一种类包:java.io、java.lang、java.rm、javacard.framework、javacard.security、javacardx.crypto、org.globalplatform。

本实施可优选关注javacard.framework、javacard.security、javacard.crypto、org.globalplatform类包的移植。

S120、根据所述底层类库构建所述Java EE平台的Java Card中间层类库。

具体的,Java Card平台主要是让智慧卡或与智慧卡相近的装置上,以具有安全防护性的方式来执行小型的Java Applet应用程序,此技术也被广泛运用在SIM卡、提款卡上。

本发明实施例为了使Java EE平台也可以实现相似的功能,则可将Java Card平台的底层类库移植至Java EE平台中,构成所述Java EE平台的Java Card中间层类库。使Java Card Applet就可只做少量的适应性修改,即可在Java EE平台上编译及运行,能够实现快速开发Java EE Applet应用程序。

在上述实施例的基础上,将Java Card平台的底层类库移植至Java EE平台中可包括:

根据云端Applet应用程序的运行原理对所述底层类库进行筛选,确定需要移植的类包和/或应用程序编程接口(Application Programming Interface,API);

保持所述类包的包名和/或包路径、和/或接口名称和/或接口路径,将所述类包和/或接口移植至所述Java EE平台中。

具体的,通过对Java Card底层类库进行筛选,确定具体需要移植的类包和应用程序编程接口,并保持原有类库的包名、包路径。通过筛选,可以得到以下类库:

并保持确定的类包的包名和/或包路径、和/或接口名称和/或接口路径,将所述类包和/或接口移植至所述Java EE平台中,构成所述Java EE平台的Java Card中间层类库。

在上述实施例的基础上,根据所述底层类库构建所述Java EE平台的Java Card中间层类库可包括:

调用java.security类库加解密相关的API实现所述Java Card中间层类库的javacard.security类包、javacard.crypto类包的加解密功能;

根据所述Java EE平台的特性封装实现所述Java Card中间层类库的javacard.framework类包和org.globalplatform类包,以模拟实现智能卡片的安全验证功能。

本发明实施例为了使Java EE平台也可以实现相似的功能,则可将Java Card平台的底层类库移植至Java EE平台中,构成所述Java EE平台的Java Card中间层类库。使Java Card Applet就可只做少量的适应性修改,即可在Java EE平台上编译及运行,能够实现快速开发Java EE Applet应用程序,以实现模拟智能卡片的安全防护。

实施例二

图2为本发明实施例二提供的一种Java EE平台的结构图,如图2所示,具体包括:Java Card中间层类库21;所述Java Card中间层类库21根据Java Card平台的底层类库构建。

其中,所述Java Card中间层类库可优选包括以下至少一种类包:javacard.security类包、javacard.crypto类包、javacard.framework类包和org.globalplatform类包。

具体的,通过将Java Card平台的底层类库移植至Java EE平台中,根据所述底层类库构建所述Java EE平台的Java Card中间层类库。其构建过程详见上述实施例一的描述,这里不再赘述。

通过本实施例的Java EE平台,研发人员可以开发具有安全防护性的方式来执行小型的Java EE Applet应用程序,或者在现有Java Card Applet应用程序的基础上可只做少量的适应性修改,即可在Java EE平台上编译及运行,能够实现快速开发Java EE Applet应用程序。

在上述实施例的基础上,所述Java EE平台还包括:Java EE底层类库22和/或Java虚拟机23;

如图2所示,所述Java EE底层类库22位于所述Java Card中间层类库21的底层、所述Java虚拟机23位于所述Java EE底层类库22的底层。

基于图2所述的Java EE平台,研发人员可以开发具有安全防护性的方式来执行小型的Java EE Applet应用程序,进而实现智能卡片的安全验证功能。

实施例三

图3为本发明实施例三提供的一种云端系统,如图3所示,具体包括:Java EE平台31和/或基于所述Java EE平台31开发的Java EE Applet应用程序32。

通过本实施例的云端系统,能够实现智能卡片的安全验证功能。

实施例四

图4为本发明实施例四提供的一种云端卡模拟系统,如图4所示,具体包括:云端系统41。

在上述实施例的基础上,云端卡模拟系统还包括:卡模拟设备42;

所述卡模拟设备42与所述云端系统41通信连接,用于向所述云端系统41发送指令请求。

其中,所述卡模拟设备优选为近距离通信主机卡模拟(Near Field Communication-Host Card Emulation,NFC-HCE)移动终端,例如NFC-HCE手机。

在上述实施例的基础上,云端卡模拟系统还包括:读卡设备43;

所述读卡设备43与所述卡模拟设备42通信连接,用于向卡模拟设备43发送指令请求。

通过本实施例的云端卡模拟系统,能够实现智能卡片的安全验证功能。

实施例五

图5为本发明实施例四提供的一种基于上述云端卡模拟系统的云端卡模拟方法,如图5所示,具体包括如下步骤:

S510、云端系统确定接收到的指令请求的类型。

S520、所述云端系统根据所述类型确定对应的处理策略,并根据所述处理策略生成对应的响应数据。

具体的,对于不同的指令请求,云端系统会执行不同的处理。可选的,如果所述指令请求的类型为选择指令,所述云端系统从对应的持久化文件中加载Java EE Applet应用程序,并在内存中创建Java EE Applet对象;所述云端系统通过Java反射技术,将Java EE Applet对象的相关Ram字段值复位,以模拟智能卡片的Ram存储器特性;所述云端系统使用Java EE Applet对象对选择指令进行处理并生成响应数据;或者,如果指令请求的类型为普通指令,所述云端系统直接使用已被选择并加载至内存的Java EE Applet对象对指令进行处理并生成响应数据。

本实施例通过云端系统确定接收到的指令请求的类型,并根据所述类型确定对应的处理策略,进一步生成对应的响应数据,能够实现智能卡片的安全验证功能。

在上述实施例的基础上,云端系统确定接收到的指令请求的类型之前,还包括:

云端系统与卡模拟设备建立通信连接,并接收卡模拟设备发送的所述指令请求。

所述指令请求具体可以为APDU指令。

具体的,卡模拟设备可向云端系统发送指令请求。或者,在发送指令之前,需先向云端系统进行某种认证或授权后,再向云端系统发送指令请求。

在上述实施例的基础上,云端系统接收卡模拟设备发送的所述指令请求之前,还包括:

卡模拟设备与读卡设备建立通信连接,并接收读卡设备发送的所述指令请求。

具体的,卡模拟设备接收到所述指令请求后,将其转发给云端系统进行处理。

在上述实施例的基础上,所述方法还包括:

云端系统通过网络下发响应指令将所述响应数据发送到所述卡模拟设备,以使所述卡模拟设备将所述响应数据转发至所述读卡设备。

具体的,卡模拟设备接收读卡设备发送的APDU指令,并通过网络将APDU指令转发至云端系统。当云端系统接收到卡模拟设备的APDU指令后,会执行相应的处理并生成响应数据,云端系统通过网络将响应数据下发到卡模拟设备,卡模拟设备使用云端系统下发的数据响应读卡设备。

在上述实施例的基础上,所述方法还包括:

所述云端系统在生成响应数据后,对Java EE Applet对象数据进行持久化操作,保存Java EE Applet对象数据到持久化介质,以模拟智能卡片的非易失性存储器特性。

具体的,可预先定义持久化加密密钥(,例如可为24字节对称密钥),在对Java EE Applet对象数据进行持久化的过程中,对Java EE Applet对象数据进行对称加密,以保证数据的安全。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1