1

我是 Java Card 技术的新手,我刚开始阅读它。我想为我的卡创建一个智能小程序。我的目标是让它在非接触式使用的卡上工作。我下载了 jar 文件 (GlobalPlatformPro) 以使用 NFC 读卡器 ACR122 在卡上安装 *.cap 文件。但不幸的是,我得到了一个错误:

Exception in thread "main" java.lang.IllegalArgumentException: apdu must be at least 2 bytes long
        at javax.smartcardio.ResponseAPDU.check(ResponseAPDU.java:73)
        at javax.smartcardio.ResponseAPDU.<init>(ResponseAPDU.java:67)
        at sun.security.smartcardio.ChannelImpl.transmit(ChannelImpl.java:91)
        at pro.javacard.gp.GlobalPlatform.select(GlobalPlatform.java:203)
        at pro.javacard.gp.GPTool.main(GPTool.java:334)

我的第一个问题是,是否可以使用此阅读器编写小程序?其次,你会如何推荐这样做?

4

1 回答 1

0

问题是您正在尝试将小程序上传到不支持全球平台或 Java 卡的卡。Mifare 1K 是一个简单的数据存储,它可以保存您使用其专有 API 写入的一些数据。它不能运行任何小程序,这张卡不是“智能”的。

错误消息说响应 APDU 比预期的短。Mifare 响应不遵循 ISO7816,响应状态仅包含一个字节,尽管 ISO7816 要求至少两个字节长的状态字。

寻找另一张卡片。它应该支持JCOP,即要搜索的关键字。

于 2015-10-23T17:04:36.583 回答