在 Windows 上通过 PCSC 读取 NTAG NFC 标签 - NTAG APDU 命令不起作用

Read NTAG NFC Tag via PCSC on Windows - NTAG APDU commands not working

我正在尝试 read/write NDEF 消息 from/to 我的 NTAG216 标签。

作为此开发的基础,我使用 Microsoft NFC 示例中的 PcscSdk: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/Nfc

我已经成功连接到卡上了。它被识别为 Mifare Ultralight,我可以 read/write 它的前 16 个块。 如果我请求稍后的扇区,我会在 return.

中收到“未找到文件”错误

该卡绝对是 NTAG216,space 比那 64 个字节多得多。 我的 phone 将其识别为符合 NfcA 标准的标签,并且能够 read/write 整个存储区就好了。

在网上进行一些研究后,我在 "Type 2 Tag Operation Specification Technical Specification T2TOP 1.1" 中找到了关于如何 read/write 那些 Type 2 标签的各种规范。 还有一些关于发送 GET_VERSION(0x60) 命令以确定我在这里的标签的特定类型的评论。 但是无论我如何尝试将这些发送到我的卡中,我总是会收到各种错误消息。

我使用的 reader 是 Cherry TC1200。它在其非常简短的文档中声称支持 ISO14443A、ISO14443B 和 ISO15693。

整个情况非常混乱,有这么多标准,没有明确说明我必须发送什么命令才能将我的卡视为 NfcA/NTAG 并获取其数据并写入它。

事实证明,问题一直是 reader。 那个便宜的小 Cherry reader 只缺乏对基本 Mifare Ultralight 卡以外的任何东西的支持。

我给自己买了一个 ACS ACR122 reader,现在同样的代码可以正常工作了。 这个广告明确支持各种类型的 NFC 标签。