代码之家  ›  专栏  ›  技术社区  ›  Student

用Java访问智能卡

  •  6
  • Student  · 技术社区  · 16 年前

    由于项目分析,我正试图了解Java访问智能卡的方式。我想知道有没有一种虚拟智能卡,我可以用Java做一些测试?

    顺便说一下,我已经阅读了Java卡,它看起来像是用Java来运行Java,而不是使用Java的智能卡数据访问,对吗?

    5 回复  |  直到 16 年前
        1
  •  9
  •   Bozho    16 年前

    Look at this tutorial + example . 和 related . (我用过这些例子,它们工作得很好)。

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

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

    感兴趣的API是 javax.smartcardio

        2
  •  2
  •   Shane    15 年前

    有一个Java卡仿真器捆绑在一起。 Java Card Development Kit . 如果您计划在某个阶段使用真实的卡,请使用2.2.1或2.2.2版,因为我暂时不希望使用任何3版卡。您仍然需要一个小程序来放在卡上。Java卡本身不做任何事情。直到你加载一个卡片小程序,它才会执行任何有用的功能。

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

        3
  •  1
  •   Fa11enAngel    14 年前

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

        4
  •  1
  •   user4935264    11 年前

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

        5
  •  0
  •   MikhailDudarev    14 年前

    如果需要模拟javacard,请尝试使用jcardsim: http://jcardsim.org . 它还支持通过javax.smartcario API和apdu脚本进行访问。