6

由于项目分析,我正在尝试了解 Java 如何访问智能卡。我想知道是否有任何类型的虚拟智能卡可以用来用 Java 进行一些测试?

顺便说一句,我读过 Java Card,看起来它是用来在卡片中运行 Java,而不是使用 Java 来访问智能卡数据,对吧?

4

5 回答 5

9

看这个教程+例子。和相关。(我已经使用了这些示例,它们工作正常)。

重要的一点是您无法从智能卡中得到任何东西。您只能将内容发送到其处理器。所以每当你得到一个PrivateKey对象时,你实际上并没有私钥——这只是智能卡处理器的代理,调用它的方法,调用处理器。

不过,我不知道虚拟智能卡。

感兴趣的 API 是javax.smartcardio

于 2010-05-12T14:15:15.730 回答
2

Java Card 仿真器与Java Card Development Kit捆绑在一起。如果您打算在某个阶段使用真正的卡,请获得 2.2.1 或 2.2.2 版本,因为我暂时不会期望任何版本 3 卡。您仍然需要一个小程序才能放在卡上。java卡本身什么也不做。直到您加载卡片小程序,它才会执行任何有用的功能。

JCDK 中的模拟器的一个问题是您不能使用 javax.smartcardio 访问卡,这是目前与卡通信的首选方法。另一种流行的替代方案 OpenCard 框架在一段时间内没有得到积极维护。

于 2010-11-25T23:30:31.943 回答
1

您可以在此处获得虚拟智能卡(和虚拟阅读器):http: //sourceforge.net/projects/vsmartcard/

于 2011-10-22T12:40:35.217 回答
1

Javacard 使用 Java 只是 Java 开发的一个子集 你最好不要使用 Java 开发环境 因为有一些特效不支持 你可以下载插件或者专用的开发 IDE,你可以从这里下载 www.javacos.com相关的开发环境。

于 2015-05-29T02:19:25.810 回答
0

如果您需要模拟 JavaCard,请尝试使用 jCardSim:http: //jcardsim.org。它还支持通过 javax.smartcardio API 和 apdu-scripts 访问。

于 2012-07-04T13:02:13.390 回答