簡體   English   中英

如何使用Java通過讀卡器激活/打開ICC卡?

[英]How to activate/power on ICC card using Java through card reader?

我正在編寫一個應用程序來與目前使用Java的智能卡進行交互。 我有一台OMRON V2BF系列讀卡器。 該應用程序在Debian上運行。

我嘗試使用Java智能卡I / O API嘗試建立與智能卡的連接。

但我無法檢測/獲取任何卡終端使用

    TerminalFactory factory = TerminalFactory.getDefault();
    List<CardTerminal> terminals = factory.terminals().list();

我還嘗試通過向OMRON閱讀器發送命令包來“按下並激活(冷復位)ICC”,但響應總是“否定”。

我可以知道我做錯了哪一部分? 任何建議將不勝感激!

factory.terminals().list()默認只顯示PCSC兼容設備。 我沒有看到有關當前閱讀器的PCSC支持的任何信息。 請參閱文檔或供應商。

您的智能卡應該是與ISO 7816-4兼容的智能卡,以便與javax.smartcardio配合使用,存儲卡將無法使用。 javax.smartcardio基本上用於CommandAPDU和ResponseAPDU,它們是“處理器”卡的ISO 7816-4兼容數據結構。

您可能會使用讀卡器制造商提供的接口規范通過串行接口與讀卡器進行通信。 您可以使用Java Communications API來執行此操作。

請注意,許多制造商將提供C / C ++甚至.NET中的示例代碼和庫,在這種情況下,它可能是切換編程語言/平台或圍繞本機代碼創建JNI包裝器的選項。

如果您正在為處理器卡(例如信用卡)編寫,您甚至可以自己創建一個兼容javax.smartcardio的終端並將其插入終端列表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM