在Jcard上部署javacard applet

时间:2014-05-11 15:53:42

标签: java smartcard javacard apdu smartcard-reader

过去几天我一直在java card project工作,今天我获得了一个读卡器和几张卡片,并被要求在其上部署applet并测试他们,我基本上不知道如何在卡片上部署应用程序,到目前为止我一直在使用CREF emulator,并且一切都很好,现在我想要一些指导或建议来自以前已经使用过这项技术的人,我有一台Omnikey 3821读卡器,我是白色和空白的卡片,我没有更多关于它们的信息,我尝试用以下应用程序测试它们:

  • JSmartCard Explorer
  • JS​​mex
  • APDUScanner

他们被检测到,JSmex它被检测为未知卡(而不是java card),有人能告诉我任何其他方式与卡片互动吗?获取更多有关他们的信息?或者如何在其上部署.cap文件并让其他应用与他们互动?

谢谢

PS:我正在使用eclipse和javacard 2.2.2

编辑:

  • 我认为我找到了一个很有希望的领导者,global plateform解决方案,但是现在我在尝试在卡上安装.cap文件时遇到错误,并根据我从中得到的ATR这张卡是我的Card Model

编辑(1):

我现在正在使用GPShell,并且我成功安装了一个示例hello world cap文件,但是当我尝试安装一个简单的计数器applet时我已经尝试过CREF,就像我安装hello word applet一样,我得到以下内容错误:(6985:不允许命令 - 不满足使用条件) 我读到它可能与版本有关,我使用了一个eclipse cap导航器插件,我得到了以下结果:主要版本= 2,次要版本= 1,这是否意味着版本是2.0 - 2.1? 但是当我尝试在我生成的计数器上限文件中运行相同的导航器时,即使我使用的是JCDK 2.2.2,我也得到了相同的结果

顺便说一句,当我尝试下载hello world源并将其编译成.cap并安装它时,我得到了同样的错误,那么它是我的环境吗?

1 个答案:

答案 0 :(得分:1)

尝试使用恩智浦的“NFC Taginfo”Android应用获取有关您卡的更多信息。在为Javacard开发时,这对我很有帮助。它将显示有关您的智能卡的大量信息。如果可以,请在此处显示扫描卡时从此应用中获得的数据。

假设它是JCOP Javacard,您始终可以使用JCOP Tools加载.cap文件。这是一个非常简单的过程。您必须先拥有NXP Docstore帐户,然后发送电子邮件至tools.jcop@nxp.com,询问JCOP工具。安装JCOP工具后,您可以使用Eclipse插件将applet加载并安装到javacard中。

关于INITIALIZE UPDATE / EXTERNAL AUTHENTICATE

如果您的Javacard符合GlobalPlatform(您将使用NFC Taginfo了解它),则意味着您必须使用GlobalPlatform命令来加载和安装applet。其中一个步骤是在卡外应用程序(您的omnikey读卡器)和卡之间创建一个安全通道。这是通过INITIALIZE UPDATE和EXTERNAL AUTHENTICATE进行的。