Java Card Programming

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.