如何处理reader收到的S-block?
How to handle S-block received by reader?
我使用 MFRC522 作为 reader,而 Sony C4 正在执行 Google HCE 示例。
reader 正在发送帧 1:
02 00 A4 04 00 07 F0 01 02 03 04 05 06 crc1 crc2
然后 reader 接收帧 2:
f2 08 50 dd
我觉得可能是S-block或者WTX
但是 HCE 应用程序的日志显示:
received apdu 00 A4 04 00 07 F0 01 02 03 04 05 06
sending account number number 123456
即使 reader 一次又一次地发送帧 1,我总是收到相同的帧 2,为什么?
f2 08 50 dd
是S-block表示等待时间延长(WTX):
- PCB =
f2
:
- 位 8..7 = '11':S 块
- 位 6..5 = '11': S(WTX)
- INF =
08
:
- WTXM = 8
- EDC =
50 dd
如果reader收到来自卡的S(WTX)请求,它需要通过响应S(WTX)帧来确认这个请求。因此,例如,您可以将相同的 S(WTX) 帧发送回卡。
由于 HCE 处理通常相当慢,因此在您实际收到 APDU 的任何响应数据之前交换多个 S(WTX) 帧的情况并不少见。
我使用 MFRC522 作为 reader,而 Sony C4 正在执行 Google HCE 示例。 reader 正在发送帧 1:
02 00 A4 04 00 07 F0 01 02 03 04 05 06 crc1 crc2
然后 reader 接收帧 2:
f2 08 50 dd
我觉得可能是S-block或者WTX
但是 HCE 应用程序的日志显示:
received apdu
00 A4 04 00 07 F0 01 02 03 04 05 06
sending account number number 123456
即使 reader 一次又一次地发送帧 1,我总是收到相同的帧 2,为什么?
f2 08 50 dd
是S-block表示等待时间延长(WTX):
- PCB =
f2
:- 位 8..7 = '11':S 块
- 位 6..5 = '11': S(WTX)
- INF =
08
:- WTXM = 8
- EDC =
50 dd
如果reader收到来自卡的S(WTX)请求,它需要通过响应S(WTX)帧来确认这个请求。因此,例如,您可以将相同的 S(WTX) 帧发送回卡。
由于 HCE 处理通常相当慢,因此在您实际收到 APDU 的任何响应数据之前交换多个 S(WTX) 帧的情况并不少见。