我想了解由于项目分析原因,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