使用 Apple Wallet NFC Pass 作为 NFC 标签

Mar*_*ion 8 tags nfc ios mifare nxp-microcontroller

尽管许多主题已经讨论了 iPhone 不可能模拟 NFC 标签,但我发现这篇文档讨论了基于 PassKit 的卡模拟(第 6 页)。

想象一下,我已经完成了从 Apple 获取 NFC 证书的步骤,并且我有一个能够读取 Apple VAS 通行证的 NFC 读取器,是否可以创建一个 PassKit,允许 iPhone 表现得像 NFC 标签,例如Mifare DESFire 标签?

And*_*rew 4

我不认为使用 NFC Passkit 可以让你像 Mifare DESfire 标签一样工作,这似乎非常限于“奖励卡信息”,它只是为知道如何通过 NFC 发送 Apple 增值服务协议的读卡器提供一些额外的信息(并非所有读卡器/POS终端都可以做到这一点)

如果你看一下苹果文档

https://developer.apple.com/library/archive/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/TopLevel.html#//apple_ref/doc/uid/TP40012026-CH2-DontLinkElementID_3

https://developer.apple.com/library/archive/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/LowerLevel.html#//apple_ref/doc/uid/TP40012026-CH3-SW5

你需要指定

消息,字符串,必填。要传输到 Apple Pay 终端的有效负载。必须为 64 字节或更少。超过 64 字节的消息将被系统截断。

加密公钥,字符串,可选。增值服务协议使用的公共加密密钥。使用包含组 P256 的 ECDH 公钥的 Base64 编码 X.509 subjectPublicKeyInfo 结构。

因此,非接触式银行卡符合 NFC 论坛 Type 4 规范,Type 4 规范是低级别的,定义了一种与更高级别协议交互的方法,从选择 AID(应用程序 ID)开始,之后如何与卡交互。 AID 选择取决于每个应用规范。

所以银行、Visa、万事达卡等以及 NDEF 标准都有自己的 AID 号码,所以我猜苹果公司也有自己的增值服务协议的 AID。

Mifare DESFire 标签也是 NFC 论坛类型 4 标签,可以编程为响应 NDEF AID 和其他自定义 AID,尽管我不确定它是否可以编程为能够响应用于银行卡的 AID 或响应 Apple 的增值服务协议。

因此,一般来说,Apple NFC 功能允许您向 Apple Pay 的钱包应用程序提供一些额外的信息,以便它向符合 Apple Pay 标准的 NFC 读卡器响应一些额外的自定义信息。它能做的事情非常有限。

而 Mifare DESFire 标签是较低级别 NFC 标准的更灵活的实现。