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