过去几天我一直在java card project
工作,今天我获得了一个读卡器和几张卡片,并被要求在其上部署applet
并测试他们,我基本上不知道如何在卡片上部署应用程序,到目前为止我一直在使用CREF emulator
,并且一切都很好,现在我想要一些指导或建议来自以前已经使用过这项技术的人,我有一台Omnikey 3821读卡器,我是白色和空白的卡片,我没有更多关于它们的信息,我尝试用以下应用程序测试它们:
他们被检测到,JSmex
它被检测为未知卡(而不是java card
),有人能告诉我任何其他方式与卡片互动吗?获取更多有关他们的信息?或者如何在其上部署.cap
文件并让其他应用与他们互动?
谢谢
PS:我正在使用eclipse和javacard 2.2.2
编辑:
.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并安装它时,我得到了同样的错误,那么它是我的环境吗?答案 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进行的。