【问题标题】:Ultralight C, Smartcardio and ACR122Ultralight C、Smartcardio 和 ACR122
【发布时间】:2014-11-29 19:32:16
【问题描述】:

我正在使用带有库 SmartCardIO 的 PS/SC ACR122U 开发 Java 项目。当我输入密码并修改页面 0x2A 时,我试图再次读取标签。确实,我知道协议,我在这里 (http://www.eps.no/downloads/pdf/API_ACR128_v1.9.pdf) 发现 APDU 命令是:

FF 00 00 00 02 1A 00 

但是当我介绍该 APDU 时,我收到一条异常消息:

apdu must be at least 2 bytes long

但是,我正在使用一个名为 ACE122U 工具的工具,我可以在其中向标签发送 APDU 命令,我可以看到它如何回答我。所以当我在标签没有回答之前发送命令时。

我不知道如何解决,有什么想法吗?

【问题讨论】:

    标签: nfc smartcard-reader acr122


    【解决方案1】:

    难以置信,我发布了问题并再次寻找解决方案,我找到了解决方案。当然,APDU 命令是错误的。命令是:

    FF:00:00:00:04:D4:42:1A:00
    

    【讨论】:

    • 感谢乔治维克的反馈。是的,您收到了错误,因为卡的响应太短了。很高兴你解决了...
    • 嗨 Georgevik,你还记得你是如何得到上述命令的 'D4:42' 部分的吗?我知道 'FF:00:00:00' 是伪 APDU 的一部分,'04' 是指字节数,'1A:00' 是用于身份验证的 APDU,但无法弄清楚 'D4:42' 是什么以及如何是计算出来的吗?
    • 我知道'D4:42' 是固定的。 IE。 FF:00:00:00:04:D4:42:1A:00FF:00:00:00:08:D4:42:11:22:33:44:55:66
    • @yash D4:42 部分来自 PN532 NFC 控制器芯片规范。 D4帧标识符。对于从主机控制器到 PN532 的帧,它是固定的。 D5 用于反方向的帧(从 PN532 到主机控制器)。 42 是 PN532 的启动器命令(称为 InCommunicateThru)。请参阅其用户手册:nxp.com/docs/en/user-guide/141520.pdf (p66)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多