2010-07-16 84 views
5

在我的項目中,我想在智能卡上寫入生物識別數據(如指紋模板)。經過一番良好的學習後,我選擇了Java卡作爲我的項目。但是,我是新來這個平臺,瞭解甚少這個:(Java Card中的Applet ID和APDU

我看了來自Sun的教程也,但未能解決一些困惑:

1)我只是想讀寫生物識別來自卡片的數據,那麼是否有必要在java卡上設計applet?我不能使用智能卡讀卡器的簡單讀/寫功能來讀寫智能卡內存上的生物識別數據嗎?

2.)如果我創建一個Java卡的小程序,那麼我將如何給它的小程序ID? Applet ID對每個小程序都是唯一的。而且,我如何知道預先創建的小程序的小程序ID?

3.)什麼是應用協議數據單元(APDU)?而且,他們將如何幫助我讀取/寫入卡上的數據?

我知道所有這些都是基本問題,但我真的很困惑。所以請幫幫忙!

在此先感謝。

+0

如何定義apdu的任何小程序? – user268758 2010-07-17 16:56:09

回答

3

APDU是您發送給智能卡的「命令」。

根據安裝了哪些applet(以及用於安裝applet的特定APDU),Javacards(以及安裝在javacards上的applet)支持特定的APDU。javacard文檔是開始瞭解此問題的最佳位置。

一些智能卡帶有預先安裝的小程序,這些小程序爲生物識別數據預留了空間;例如「PIV」卡(和相關的小程序)。

如果您的卡未預先安裝用於存儲生物識別數據的小程序,則需要編寫並安裝一個小程序。

希望這會有所幫助。

4

我將盡力爲您解答:

1)如果有什麼,支持寫入和讀取的生物特徵數據,你應該創建自己的小程序做的工作卡上預裝。

2)關於艾滋病你是對的,你應該嘗試使其獨特。 AID的結構如下: 5字節RID + 0..11字節PIX

RID是應用程序提供商的唯一標識符。爲了確保沒有其他人使用您的RID,您應該將其註冊到國內或國際認證機構,具體取決於您的應用範圍。儘管註冊RID並非強制要求,但如果未註冊,則應使用「F」作爲RID的開始。如果您執行嚴重的應用程序,建議只使用註冊的AID。

PIX是專有的應用程序標識符應用程序提供的擴展應保持其獨特性。

3)APDU僅僅是描述與你的applet進行通信的方式的協議。它將要調用的指令與輸入和輸出數據一起打包。

1

爲APDU命令的示例: 00 A4 04 00 0A A0 00 00 00 62 03 01 0C 01 01 CLA INS P1 P2 LC數據字段勒

第一字節:CLA,它是一個命令類型。例如80意味着使用全球平臺定義的命令。

第二個字節:INS,指令代碼。

第三字節:P1,參數1

第四字節:P2,參數2

5和第6個字節:大小,CLA,P1,P2和樂的數據不包括長度的長度。

7th。字節到最後一個字節:數據

最後一個字節:樂一般00

是欲瞭解更多信息,請參閱全球平臺的文件。 http://globalplatform.org/specificationscard.asp