什么是JavaCard
JavaCard,即Java智能卡。以智能卡硬件系统为基础,通过软件的方式构造一个支持Java程序下载、安装、运行的软/硬件系统。由于引入了虚拟机技术,JavaCard具备硬件无关性,即智能卡应用程序开发与智能卡硬件系统相分离,简化开发过程,提高应用程序的可移植性与可重用性。
智能卡层级结构图
上图中:
1、最底层是硬件(芯片,如SIM卡、SD卡等),然后会提供硬件接口(底层驱动);
2、往上是卡片操作系统,是定制的微型操作系统COS,Card Operating System;
3、操作系统往上才是JVM虚拟机(Java Card虚拟机),也就是说虚拟机必须依赖于操作系统;
4、虚拟机往上是java卡框架和API接口;
5、最顶层就是Applet,卡应用。
与传统的NativeCard简单比较
NativeCard:
1、特定开发环境;
2、不同厂商接口定义不同;
3、应用在不同芯片上的移植困难。
JavaCard:
1、平台无关;
2、支持一卡多用和重用;
3、安全性好