Java技术在嵌入式系统中的应用
a程序的智能卡--Java卡,并且制定了Java卡的技术规范,包括JavaCardVM(Java卡虚拟机)和API的详细信息。JavaCardVM位于智能卡的操作系统之一,用通用的编程语言和系统接口屏蔽了不同智能卡硬件和操作系统的区别。Java卡的框架定义了供应用程序开发者使用的API。Java卡的应用程序称为Applet,每个Applet由唯一的AID(应用程序标识符)来识别。
(2)Java卡对硬件的最低要求
512BRAM:主要用于存储应用程序运行时的栈以及I/O缓冲区。
24KBROM:主要用于存储程序代码和系统的运行时系统。
8KBEEPROM:主要用于存储Java卡的Applet和堆。
8位处理器:8位处理器是Java卡的最低要求。
(3)Java卡软件体系结构
Java卡软件体系结构如图1所示。
最底层的CardOS(操作系统)和NativeFunctions(基本函数)相不于个人计算机的操作系统,负责低层的处理工作。
JavaCardVM位于CardOS和NativeFunctions之上,隐蔽了底层智能卡的不同技术,实现了卡接口的统一和编程语言的统一。
JavaCardFramework(Java卡框架)为开发人员定义了一整套API,主要负责运行Java卡Applet以及为Applet运行提供所需要的环境。
CardOS、JavaCardVM和JavaCardFramework共同组成了JCRE(Java卡运行时环境)。IndustrySpecificExtensions是服务方所提供的类,使企业与公司能够提供属于自己的服务程序。例如,如果这张卡是GSM网络的SIM(用户识别模块)卡,那么这一层就是SIM卡所需的接口类。
(4)JavaCardAPI
JavaCard的2.1版包括四个包:Javacard.langpackage、Javacard.frameworkpackage、Javacard.securitypackage和Javacardx.cryptopackage。
Javacard.langpackage提供Java程序语言中重要的类,例如所有Java类的根类Object类。
Javacard.frameworkpackage是JavaCardAPI的核心包,提供了实现JavaCardApplet基本类和工具。其中ISO7816抽象接口提供了ISO7816所使用的常数值。PIN(个人识别号码)抽象接口使其子类能够验证PIN是否合法。Shareable抽象接口使得不同的Applet能够互相通信。AID类使得JCRE能够通过一个AID表来识别Applet。APDU类通过管理一个缓冲区来接收与传送终端的指令以及回传Applet运行结果与状态。Applet类是所有JavaCardApplet的根类,管理JavaCardApplet的生命周期。JCSystem类管理Applet与JavaCard的系统资源,如AID与事务。OwnerPIN类管理卡片持有者的PIN,并提供相关验证与更新等方法。Util类提供了开发中的常用工具。
Javacard. 《Java技术在嵌入式系统中的应用(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/171585.html
(2)Java卡对硬件的最低要求
512BRAM:主要用于存储应用程序运行时的栈以及I/O缓冲区。
24KBROM:主要用于存储程序代码和系统的运行时系统。
8KBEEPROM:主要用于存储Java卡的Applet和堆。
8位处理器:8位处理器是Java卡的最低要求。
(3)Java卡软件体系结构
Java卡软件体系结构如图1所示。
最底层的CardOS(操作系统)和NativeFunctions(基本函数)相不于个人计算机的操作系统,负责低层的处理工作。
JavaCardVM位于CardOS和NativeFunctions之上,隐蔽了底层智能卡的不同技术,实现了卡接口的统一和编程语言的统一。
JavaCardFramework(Java卡框架)为开发人员定义了一整套API,主要负责运行Java卡Applet以及为Applet运行提供所需要的环境。
CardOS、JavaCardVM和JavaCardFramework共同组成了JCRE(Java卡运行时环境)。IndustrySpecificExtensions是服务方所提供的类,使企业与公司能够提供属于自己的服务程序。例如,如果这张卡是GSM网络的SIM(用户识别模块)卡,那么这一层就是SIM卡所需的接口类。
(4)JavaCardAPI
JavaCard的2.1版包括四个包:Javacard.langpackage、Javacard.frameworkpackage、Javacard.securitypackage和Javacardx.cryptopackage。
Javacard.langpackage提供Java程序语言中重要的类,例如所有Java类的根类Object类。
Javacard.frameworkpackage是JavaCardAPI的核心包,提供了实现JavaCardApplet基本类和工具。其中ISO7816抽象接口提供了ISO7816所使用的常数值。PIN(个人识别号码)抽象接口使其子类能够验证PIN是否合法。Shareable抽象接口使得不同的Applet能够互相通信。AID类使得JCRE能够通过一个AID表来识别Applet。APDU类通过管理一个缓冲区来接收与传送终端的指令以及回传Applet运行结果与状态。Applet类是所有JavaCardApplet的根类,管理JavaCardApplet的生命周期。JCSystem类管理Applet与JavaCard的系统资源,如AID与事务。OwnerPIN类管理卡片持有者的PIN,并提供相关验证与更新等方法。Util类提供了开发中的常用工具。
Javacard. 《Java技术在嵌入式系统中的应用(第2页)》