我是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)
我的第一个问题是,是否可以使用此阅读器编写applet?其次你会如何推荐这样做?
答案 0 :(得分:0)
问题是您正在尝试将小程序上传到卡,该卡不支持Global Platform或Java Card。 Mifare 1K是一个简单的数据存储,它可以使用其专有API保存您编写的一些数据。它不能运行任何小程序,这张卡不是“聪明”。
错误消息显示响应APDU短于预期。 Mifare响应不遵循ISO7816,响应状态仅包含一个字节,尽管ISO7816期望至少两个字节长的状态字。
寻找另一张卡片。它应该支持JCOP,这是要搜索的关键字。