【问题标题】:iOS 13 NFC Core - Reading NDEF Tags (e.g. ISO 14443 Type A JavaCard)iOS 13 NFC 核心 - 读取 NDEF 标签(例如 ISO 14443 Type A JavaCard)
【发布时间】:2020-04-18 21:29:21
【问题描述】:

我可以在 iPhone 7 或更高版本(支持核心 NFC)上使用像 https://github.com/OpenJavaCard/openjavacard-ndef 这样的小程序读取 javacard 上的 NDEF 标签吗? NFC 似乎在 iOS 13 上得到了特别增强。文档https://developer.apple.com/documentation/corenfc 表明符合 ISO 7816 或 ISO 15693 标准的卡可以用 iPhone 读取。谁能证实这一点?

我有两个可用的 javacard:

我在两张卡上都安装了应用程序,但无法从 iPhone 读取。

我已经用https://developer.apple.com/documentation/corenfc/building_an_nfc_tag-reader_app 进行了测试——它可以检测到我的 Yubikey,但不能检测到运行 NDEF 小程序的 JavaCard。 iPhone 可以读取哪些类型的 NFC 标签?

【问题讨论】:

    标签: nfc ios13 javacard contactless-smartcard core-nfc


    【解决方案1】:

    我相信 iOS 可以读取标准 NFC 类型加上 iOS 13 它可以读取类型 4 卡的附加标签 Aid(应用程序 ID)(这只是来自阅读文档)。

    还阅读了 NFC 类型 4 卡 http://apps4android.org/nfc-specifications/NFCForum-TS-Type-4-Tag_2.0.pdf 的规范,该规范适用于与 Tag Aid 一起使用的非制造商特定类型的标签

    我注意到小程序可能没有使用正确的 AId?
    规范(第 5.4.2 节)说 NDEF 的 AId 是 D2760000850101h

    小程序https://github.com/OpenJavaCard/openjavacard-ndef/blob/master/applet-full/build.gradle 似乎在使用aid = '0xD2:0x76:0x00:0x01:0x77:0x10:0x02:0x11:0x01:0x00:0x01'

    这是一个猜测,但使用 NFC 规范所说的 AId 可能值得一试

    进一步阅读https://github.com/OpenJavaCard/openjavacard-ndef/issues/4 的内容。

    他们默认使用的默认小程序 AId 是他们自分配的一个(参见 https://openjavacard.org/resources/aid-now.html 而不是 NFC 规范)

    请注意,在 iOS 13 中,您现在可以编写自己的程序来阅读这个不同的辅助工具。将 https://developer.apple.com/documentation/corenfc/nfciso7816tag 与正确的 AId 一起使用

    还有https://developer.apple.com/documentation/corenfc/nfctagreadersession(也说标准NDEF的AId是D2760000850101)

    【讨论】:

    • 您对 AID 的看法是正确的 - 如果我调整了 info.plist 以包含 ISO7816 application identifiers for NFC Tag Reader Session(在本例中为 D2760000850101),我可以从 iPhone 建立到 javacard 的连接。目前简单的应用程序无法读取 NDEF 标签,但我想你已经解决了!
    猜你喜欢
    • 2021-12-22
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多