要撰寫一個Java Card 的程式,必須要先了解他的基本觀念,
所以這篇主要是說明Java Card的各種觀念。以下的資料有寫並非自己撰寫
但是我認為最淺顯易懂的。若有侵權,請告知!!謝謝
Java Card的結構
1.Java 平台中最小的子集合
2. Java Card Platform Specification 2.2.1
虛擬機器、編譯介面(API)、運行環境規範
3.最小硬體配置要求:
512 bytes RAM
程式執行時的堆疊
暫存資料及I/O緩衝區
24KB ROM
OS及運行環境, 如VM, Applet等
8 KB EEPROM
開發之Applet
8-bit processor
Java Card的生命週期
1.Java Card
開始於 OS, VM, API 裝載至卡的 ROM 後
初始化 - 創建檔結構 (EEPROM)
個人化 - 將個人資訊附於卡 (物理 / 電子過程)
終止於被物理損害, 不正確操作鎖死或卡的應用過期
2.Java Card - VM
與 Java Card 生命週期一致 (永遠運行)
3.Java Card - Applet
開始於 Applet 被安裝並在卡的註冊表中註冊
終止於 Applet 被從註冊表中註銷
Java Card的Java語言
1.因硬體限制(記憶體大小, CPU能力), Java Card 不支援所有 Java 語言的特性
2.下列語言特性 Java Card 不支援
物件複製 (Object cloning)
安全管理 (Security manager)
finalize() 方法
資料類型 : float, double, long, char
多執行緒
只支援一維陣列
Java Card的API[標註表示] (C) class (I) interface
1.java.lang package : Java 語言重要類別
Object(C), Throwable(C)
2.javacard.framework package : Applet 基本介面與工具
AID(C) APDU(C) ~ byte[]
Applet(C) ISO7816(I)
PIN(I) ~ 驗証 OwnerPIN(C) ~ check() & update()
Shareable(I) ~ 溝通 JCSystem(C) Util(C)
3.javacard.security package : 提供安全機制的套件
Key(I) KeyBuilder(C) MessageDigest(C)
4.javacardx.crypto package : 包含加密與安全的物件
Cipher(C)
Java Card的開發環境
1.硬體 : 讀卡機、Java Card (GEMPLUS)
2.軟體 : J2SDK、Java Card Development Kit
3.Java Card Development Kit
應用工具 : 如轉換器, apdutool 等 (bin目錄)
文件 : JCDK User Guide, API (doc目錄)
EXP檔 : 編譯所需 exp 檔 (api_export_files目錄)
範例 : 範例 (samples目錄)
開發工具可至Sun網站下載
生成Applet的相關重要文件
*.java Java語言的原始程式檔
*.class Java語言的位元組程式碼(Bytecode)
javac編譯產生, 由VM執行
*.jca JavaCard 的可讀組合語言
由轉換器產生, 可進一步生成 Cap 檔
*.exp 輸出檔, packages 的公共資訊和連接資訊
*.cap 轉化後的 Applet 檔
可被 JavaCard 載入安裝的可執行程式碼
*.jar Java 文件檔
Java card Applet 的生成
1. Java 原始碼編輯 (*.java)
2. Java 原始碼編譯 (*.class) - javac
3. 產生 Cap 檔 (*.cap) - converter
4. Applet 的安裝
Java Card的溝通協定
Use the APDU (Application Protocol Data Unit) Command,
the APDU command compliance with ISO7816-4, and the standard defines two types
of APDU:
(1) Command APDUs - sent by a client application to a card.
(2) Response APDUs - return by card to a client application.
未完.........................
所以這篇主要是說明Java Card的各種觀念。以下的資料有寫並非自己撰寫
但是我認為最淺顯易懂的。若有侵權,請告知!!謝謝
Java Card的結構
1.Java 平台中最小的子集合
2. Java Card Platform Specification 2.2.1
虛擬機器、編譯介面(API)、運行環境規範
3.最小硬體配置要求:
512 bytes RAM
程式執行時的堆疊
暫存資料及I/O緩衝區
24KB ROM
OS及運行環境, 如VM, Applet等
8 KB EEPROM
開發之Applet
8-bit processor
Java Card的生命週期
1.Java Card
開始於 OS, VM, API 裝載至卡的 ROM 後
初始化 - 創建檔結構 (EEPROM)
個人化 - 將個人資訊附於卡 (物理 / 電子過程)
終止於被物理損害, 不正確操作鎖死或卡的應用過期
2.Java Card - VM
與 Java Card 生命週期一致 (永遠運行)
3.Java Card - Applet
開始於 Applet 被安裝並在卡的註冊表中註冊
終止於 Applet 被從註冊表中註銷
Java Card的Java語言
1.因硬體限制(記憶體大小, CPU能力), Java Card 不支援所有 Java 語言的特性
2.下列語言特性 Java Card 不支援
物件複製 (Object cloning)
安全管理 (Security manager)
finalize() 方法
資料類型 : float, double, long, char
多執行緒
只支援一維陣列
Java Card的API
Object(C), Throwable(C)
2.javacard.framework package : Applet 基本介面與工具
AID(C) APDU(C) ~ byte[]
Applet(C) ISO7816(I)
PIN(I) ~ 驗証 OwnerPIN(C) ~ check() & update()
Shareable(I) ~ 溝通 JCSystem(C) Util(C)
3.javacard.security package : 提供安全機制的套件
Key(I) KeyBuilder(C) MessageDigest(C)
4.javacardx.crypto package : 包含加密與安全的物件
Cipher(C)
Java Card的開發環境
1.硬體 : 讀卡機、Java Card (GEMPLUS)
2.軟體 : J2SDK、Java Card Development Kit
3.Java Card Development Kit
應用工具 : 如轉換器, apdutool 等 (bin目錄)
文件 : JCDK User Guide, API (doc目錄)
EXP檔 : 編譯所需 exp 檔 (api_export_files目錄)
範例 : 範例 (samples目錄)
開發工具可至Sun網站下載
生成Applet的相關重要文件
*.java Java語言的原始程式檔
*.class Java語言的位元組程式碼(Bytecode)
javac編譯產生, 由VM執行
*.jca JavaCard 的可讀組合語言
由轉換器產生, 可進一步生成 Cap 檔
*.exp 輸出檔, packages 的公共資訊和連接資訊
*.cap 轉化後的 Applet 檔
可被 JavaCard 載入安裝的可執行程式碼
*.jar Java 文件檔
Java card Applet 的生成
2. Java 原始碼編譯 (*.class) - javac
3. 產生 Cap 檔 (*.cap) - converter
4. Applet 的安裝
Java Card的溝通協定
Use the APDU (Application Protocol Data Unit) Command,
the APDU command compliance with ISO7816-4, and the standard defines two types
of APDU:
(1) Command APDUs - sent by a client application to a card.
(2) Response APDUs - return by card to a client application.
未完.........................
全站熱搜
留言列表