【发布时间】:2014-05-23 14:27:54
【问题描述】:
我已经在 Nexus 4、Nexus 5 和三星 Galaxy S4 手机上测试了我的 Android Java 应用程序。在测试中,阅读器发送长度最多为 252 字节的 APDU。 Nexus 手机成功接收 APDU。另一方面,Galaxy S4 手机无法接收包含超过 128 字节的 APDU。它只接收发送方 252 个字节中的前 128 个字节。
如何确定设备的最大可接收 APDU 大小?
【问题讨论】:
-
您是否发送符合 ISO 7816-4 的 APDU(即格式为
<CLA> <INS> <P1> <P2> [[<Lc> <DATA>] <Le>]的 APDU? -
@MichaelRoland:是的,我正在发送符合 ISO 7816-4 的 apdus。读卡器和相同的代码适用于非接触式 jcop 智能卡没有问题。
-
那么有趣的是,您似乎得到了与错误 #69233 不同的结果...
-
@MichaelRoland 现在我发现 Galaxy s4 实际上接收了 252 个字节。但在 2 个连续的块中。对于长度超过 128 字节的 apdu,它会两次进入 processCommandApdu 函数。