我將使用Java Card Framework編寫一個智能卡應用程序。當我完成我的應用程序時,我想設置一個真正的智能卡並嘗試它。我必須擁有哪些設備?我怎樣才能在真正的智能卡上運行我的代碼?我必須在我的計算機和智能卡之間提供一個連接器,不是嗎?試用Java卡應用程序在真實智能卡
回答
在你的IDE(如Eclipse或Netbeans的)編寫Java Card應用程序(我們叫它小程序)後,您有以下步驟一個真正的智能卡上與它通信:
- 轉換的
.java
文件.class
文件 - 的
.class
文件轉換爲.cap
文件中的JCDK(Java卡開發工具包)使用converter
工具 - 上傳卡上的
.cap
文件。 - 安裝上傳的小程序。
- 使用APDU命令在卡上選擇您的小程序
- 與您的小程序進行通信。
步驟1和2:
如果你想使用Java卡V2.2.2或V2.2.1兼容卡,你可以根本就加入Eclipse-JCDE插件和Java Card Dev Kit步驟1和2到Eclipse IDE。如果你想使用Java卡3.x版兼容卡(一個簡單的偉大教程一步一步來使用這個插件here和here)
,您可以使用較新的版本(我的是7.3)的的Netbeans IDE它包含必要的工具和插件,默認情況下執行步驟1和步驟2(一步一步教程,here)
在這些步驟中,您將兩個5-16字節的數字設置爲您的應用程序及其程序包小程序AID(標識符)和包AID
請注意,您可以執行此步驟w沒有任何IDE,只使用JCDK-s,但是有點棘手。此外,NetBeans IDE中添加了另一個Java卡模擬器到JCDK模擬器(即命名爲CREF
和JCWDE
)
步驟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」(應用數據協議單元)是用來向卡發送[接收]命令[響應]的協議。
- 1. Java智能卡 - 讀Scosta智能卡
- 2. 使用Java EE的智能卡應用程序
- 3. 用Java訪問智能卡
- 4. Java卡:如何裝入SIM小到真正的智能卡?
- 5. 用戶使用智能卡登錄Windows UWP應用程序
- 6. 在web應用程序中讀取智能卡
- 7. 基於智能卡的遠程考勤Web應用程序
- 8. Tizen在真實設備上的智能電視應用程序
- 9. 虛擬智能卡實現
- 10. 將智能卡連接到Web應用程序
- 11. 如何監控一個應用程序(智能卡)的訪問
- 12. 無法編譯交流的應用程序,讀取智能卡
- 13. 從Windows 8商店應用程序(WinRT)訪問智能卡
- 14. 在真實智能卡上讀取記錄失敗
- 15. web應用和智能卡交互
- 16. 如何使用智能卡
- 17. 如何使用java卡將數據寫入智能卡?與例
- 18. 啓動智能卡編程
- 19. C#智能卡編程
- 20. 智能卡在Java中的Kerberos
- 21. 試圖在.NET Web應用程序中實現jQuery選項卡
- 22. 列出使用智能卡讀卡器的進程
- 23. 使用智能卡讀卡器讀取和寫卡詳情
- 24. 如何在智能卡讀卡器中實現被動認證?
- 25. Java卡功能獲取智能卡GUID/UUID?
- 26. 智能卡和Android
- 27. 讀取智能卡
- 28. 安全智能卡
- 29. 智能卡查詢
- 30. 智能卡開發
感謝您的回覆@Abraham。如果我想在真正的智能卡上設置我的應用程序,我必須使用FYI設備,是不是我?我怎樣才能將我的電腦連接到此設備? – emreturka
@emreturka「FYI」是「For Your Information」的首字母縮寫詞.Google他們看起來不像您的字樣:) 我的意思是智能卡讀卡器與智能卡寫卡器相同。你是什麼意思_「如何將我的電腦連接到此設備?」_?智能卡讀卡器就像其他可移動設備一樣!像你的手機!使用USB電纜將其連接到計算機上,然後安裝驅動程序並使用所描述的工具與其進行通信。 :) – Abraham
對於步驟1和2:https://github.com/martinpaljak/ant-javacard –