2015-04-30 71 views
0

我將使用Java Card Framework編寫一個智能卡應用程序。當我完成我的應用程序時,我想設置一個真正的智能卡並嘗試它。我必須擁有哪些設備?我怎樣才能在真正的智能卡上運行我的代碼?我必須在我的計算機和智能卡之間提供一個連接器,不是嗎?試用Java卡應用程序在真實智能卡

回答

4

在你的IDE(如Eclipse或Netbeans的)編寫Java Card應用程序(我們叫它小程序)後,您有以下步驟一個真正的智能卡上與它通信:

  1. 轉換的.java文件.class文件
  2. .class文件轉換爲.cap文件中的JCDK(Java卡開發工具包)使用converter工具
  3. 上傳卡上的.cap文件。
  4. 安裝上傳的小程序。
  5. 使用APDU命令在卡上選擇您的小程序
  6. 與您的小程序進行通信。

步驟1和2:

如果你想使用Java卡V2.2.2或V2.2.1兼容卡,你可以根本就加入Eclipse-JCDE插件和Java Card Dev Kit步驟1和2到Eclipse IDE。如果你想使用Java卡3.x版兼容卡(一個簡單的偉大教程一步一步來使用這個插件herehere

,您可以使用較新的版本(我的是7.3)的的Netbeans IDE它包含必要的工具和插件,默認情況下執行步驟1和步驟2(一步一步教程,here

在這些步驟中,您將兩個5-16字節的數字設置爲您的應用程序及其程序包小程序AID(標識符)和包AID

請注意,您可以執行此步驟w沒有任何IDE,只使用JCDK-s,但是有點棘手。此外,NetBeans IDE中添加了另一個Java卡模擬器到JCDK模擬器(即命名爲CREFJCWDE

步驟3和4:

連接的智能卡讀卡器(FYI是智能卡的作家也)到您的電腦。然後使用JCManager工具(易於使用)或更新的工具GlobalPlatformPro工具(易於使用,記錄完備,非常全面),您可以上傳.cap文件並分別或同時安裝小程序。 你需要你的卡的身份驗證密鑰有權上傳和安裝applet。

步驟5和6:

通常智能卡閱讀器有一個工具,讓你與卡通信(發送APDU命令和接收數據和狀態字),但你也可以使用一些免費開放源工具,如OpenSC-tool。首先你發送一個SELECT APDU命令到卡片上,在你的數據字段中有你的applet的AID。其次,你發送其他命令到卡。

注:

您可以使用javax.smartcardio包在Java或PySCard圖書館在Python,寫你的專用程序的步驟3,4,5和6(爲便於步驟5和6,但它對於步驟3和4有點困難;)

「APDU」(應用數據協議單元)是用來向卡發送[接收]命令[響應]的協議。

+0

感謝您的回覆@Abraham。如果我想在真正的智能卡上設置我的應用程序,我必須使用FYI設備,是不是我?我怎樣才能將我的電腦連接到此設備? – emreturka

+1

@emreturka「FYI」是「For Your Information」的首字母縮寫詞.Google他們看起來不像您的字樣:) 我的意思是智能卡讀卡器與智能卡寫卡器相同。你是什​​麼意思_「如何將我的電腦連接到此設備?」_?智能卡讀卡器就像其他可移動設備一樣!像你的手機!使用USB電纜將其連接到計算機上,然後安裝驅動程序並使用所描述的工具與其進行通信。 :) – Abraham

+3

對於步驟1和2:https://github.com/martinpaljak/ant-javacard –