我是Java技术的新手,我刚刚开始阅读它。我想为我的卡创建一个智能小程序。我的目标是让它在非接触式卡上工作。我下载了jar文件(GlobalPlatformPro)来在卡上安装*.cap文件,使用ACR122卡读卡器。但不幸的是我犯了一个错误:
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?第二,你会怎么建议这样做?
发布于 2015-10-23 17:04:36
问题是,您正在尝试将applet上载到一张卡上,该卡既不支持也不支持Java。MIFARE1K是一个简单的数据存储,它可以使用它的专有API保存您编写的一些数据。它不能运行任何小程序,这张卡不是“智能”的。
错误消息显示响应APDU比预期的要短。Mifare响应不遵循ISO7816,响应状态仅由一个字节组成,尽管ISO7816需要至少两个字节长的状态字。
找另一张牌。它应该支持JCOP,这是要搜索的关键字。
https://stackoverflow.com/questions/33269938
复制相似问题