我想了解由於項目分析原因,Java如何訪問智能卡。我想知道是否有任何一種虛擬智能卡可以用來做一些Java測試?用Java訪問智能卡
順便說一下,我已經閱讀了關於Java Card的內容,看起來它用於在卡中運行Java,而不是使用Java對智能卡數據進行訪問,對吧?
我想了解由於項目分析原因,Java如何訪問智能卡。我想知道是否有任何一種虛擬智能卡可以用來做一些Java測試?用Java訪問智能卡
順便說一下,我已經閱讀了關於Java Card的內容,看起來它用於在卡中運行Java,而不是使用Java對智能卡數據進行訪問,對吧?
Look at this tutorial + example。和related。 (我用過這些例子,它們工作正常)。
重要的一點是,你不能從智能卡中獲取任何東西。你只能將東西發送給它的處理器。因此,只要你得到一個PrivateKey
對象,你實際上沒有私鑰 - 這只是智能卡處理器的一個代理,並且調用它的方法調用處理器。
雖然我不知道虛擬智能卡。
感興趣的API是javax.smartcardio
沒有與Java Card Development Kit捆綁的Java Card仿真器。如果您打算在某個階段使用真正的卡,請獲取版本2.2.1或2.2.2,因爲我暫時不會期望任何版本3的卡。你仍然需要一個小程序來放在卡上。一張java卡片本身不會做任何事情。直到你加載一個卡片小程序,它纔會執行任何有用的功能。
JCDK中的仿真器存在的一個問題是,您無法使用javax.smartcardio來訪問該卡,並且此時與卡進行通信時這是首選方法。另一種流行的替代方案OpenCard Framework在一段時間內還沒有得到積極維護。
你可以得到一個虛擬的智能卡(和虛擬閱讀器)位置:http://sourceforge.net/projects/vsmartcard/
如果需要模擬JavaCard的嘗試使用jCardSim:http://jcardsim.org。 它還支持通過javax.smartcardio API和apdu-scripts進行訪問。
Javacard使用Java只是Java開發的一個子集你最好不要使用Java開發環境因爲有一些特殊的效果是不支持的 你可以下載插件或專用開發IDE,你可以從這裏下載它www.javacos.com相關的開發環境。
我「無法從智能卡中獲取任何東西」並不意味着我無法獲得它的公鑰,我希望 – 2010-05-12 14:19:54
好吧,我進一步發現了:http://www.java2s.com/Open -Source/Java-Document/6.0-JDK-Core/smartcardio/javax.smartcardio.htm – 2010-05-12 14:32:23
您可以獲得公鑰,是 – Bozho 2010-05-12 14:33:31