Java卡是Sun微系统为智能卡开发平台而制定的一个开放的标准。使用Java卡平台创建的智能卡上存有Java applet。在卡发行后也可以把applet加到卡上或修改卡上已有的applet。它们把数据存储在一个集成的微处理器芯片里。然后applet被下载到微处理器的内存里,由Java虚拟机来运行。

第一个运用Java Card技术的智慧卡是在1997年发表,由数家公司所共同采行,包括过去Schlumberger公司的卡片部门(今日为Axlto公司)与Gemplus公司。Java Card的产品皆以Java Card Platform Specifications(爪哇卡平台规格)为依循标准,此技术规格标准由升阳电脑所研发。整体而言,Java Card的主要特点及诉求在于移携性与安全性。

JAVA卡和JAVA卡API的出现使智能卡的编程变得既快又简单,同时这些卡的应用程序(Applet)可以在任何支持JAVA卡API的智能卡上运行。在JAVA卡内有一个能执行JAVA字节码(Applet)的JAVA虚拟机–它提供一整套标准的JAVA卡编程的API,使得开发人员无需了解复杂的智能卡硬件和智能卡专用的技术,就可以进行智能卡应用的开发,从而大大减少开发时间和降低开发难度。据粗略的统计,用JAVA来编程可以比用C语言来编程节约60%的开发时间,如与智能卡特殊的汇编语言来比,这种优势将更为明显。同时由于 JAVA 虚拟机的使用,JAVA卡的Applet能够在不同卡片的JCAE(JAVA Card Application Environment)上执行,即透过 JAVA 虚拟机的机制来达到跨平台的能力。JAVA是一种面对对象的编程语言,智能卡的基于对象的API大大简化了卡内 Applet 与终端或后台服务器的通信。

RAM 512 bytes 主要用于存放执行时的堆栈、暂存资料以及做为I/O的缓冲区
ROM 24 KB 主要用于存放操作系统以及运行环境,如Java虚拟机、Applet等
EEPROM 8 KB 用于存储Java卡上的Applet
CPU 8 bit Java卡需要至少8位的处理器支持

A Java Card is a smart card that is capable of running Java programs. The Java Card 2.0 (latest is 3.2) specification was published at https://www.javasoft.com/javacard. It contains detailed information for building the Java Card virtual machine and application programming interface (API) in smart cards.

The following diagram illustrates the physical characteristics of a smart card, which are defined in ISO 7816, part 1.

For more on ISO 7816 and smart cards, see “Smart cards: A primer.”

There are versions of Java Card.

The JCOP J2E081 v2.4.2 R3 java card with implemented JavaCard 3.0.1 and 80KB EEPROM is the top contact edition of JCOP. This product is targeted at the innovation market of e-government, banking and the new business application sector.

J2A081 JCOP v2.4.1 R3, JavaCard 2.2.2, GlobalPlatform 2.1.1

J2R180 JCOP4 180 KB (JavaCard 3.0.5 Classic) The JCOP 4 powered smart card combines the robust security of GlobalPlatform 2.3 with the versatile capabilities of JavaCard 3.0.5 Classic. This synergy ensures a state-of-the-art solution, capable of securely executing Java-based applications across various domains, from financial transactions to secure access controls. With advanced features and compatibility, it stands as a reliable choice for a broad spectrum of secure applications.

J3H145 with JCOP 3 SECID P60 CS on SmartMX2 and JavaCard 3.0.4 (as the next-in-line to the J3D081) is targeted at the convergence of IT-security, e-government, banking, and transport applications, reducing cost of development.

Source: Java Card 3.2 Documentation – Home