要撰寫一個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.



未完.........................
arrow
arrow
    全站熱搜

    npulove 發表在 痞客邦 留言(0) 人氣()