什麼是JavaCard?
JavaCard,即Java智能卡,以智能卡硬體系統為基礎,通過軟體的方式構造一個支援Java程式下載下傳、安裝、運作的軟/硬體系統。由于引入了虛拟機技術,JavaCard具備硬體無關性,即智能卡應用程式開發與智能卡硬體系統相分離,簡化開發過程,提高應用程式的可移植性與可重用性。
對比傳統的NativeCard和JavaCard:
- NativeCard:
- 特定開發環境
- 不同廠商接口定義不同
- 移植到不同晶片很困難
- JavaCard:
- 平台無關
- 支援一卡多用和重用
- 安全性
其軟體結構圖如下所示:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmLrJ3b3VWbhJnZfRmchNWY2FmavwVbvNmLuRGZ19Gbj5CdrJmLwwGO4VWN5g3bvw1LcpDc0RHaiojIsJye.jpg)
(1)最底層是硬體(晶片),然後會提供硬體的接口(底層驅動)
(2)往上是卡片的作業系統,是定制的微型作業系統COS,Card Operating System
(3)作業系統往上才是虛拟機,也就是說虛拟機必須依賴于作業系統
(4)虛拟機往上是java卡架構和API接口。
(5)最頂層就是Applet。