0

我有一个无法在 macOS Catalina 10.15.4 上设置的Identiv uTrust 3700 F CL 阅读器。我想阅读 NDEF 标签, 通过 NFC 使用 U2F (FIDO2 CTAP1),并模拟来自我的主机充当安全元件的读卡器(供其他读卡器读取,如 Android 或 iOS 设备)的卡片。

我的读者很opensc-tools适合列出读者。我怀疑多个进程正在争夺 USB 设备。

libnfc 中的这一部分表明相关设备(SCL3711,它是另一个 Identiv 非接触式 USB 阅读器)可以选择不使用专有驱动程序或完全禁用 PCSC 以与 nfc-tools 一起使用。但是,这对我在 macOS(或 Ubuntu)上不起作用。安装驱动程序后:

% LIBNFC_LOG_LEVEL=3  nfc-list -v
debug   libnfc.config   key: [allow_intrusive_scan], value: [yes]
debug   libnfc.config   Unable to open directory: /usr/local/Cellar/libnfc/1.7.1/etc/nfc/devices.d
debug   libnfc.general  log_level is set to 3
debug   libnfc.general  allow_autoscan is set to true
debug   libnfc.general  allow_intrusive_scan is set to true
debug   libnfc.general  0 device(s) defined by user
nfc-list uses libnfc 1.7.1
debug   libnfc.general  0 device(s) found using arygon driver
debug   libnfc.general  0 device(s) found using pn532_uart driver
debug   libnfc.general  0 device(s) found using ACR122S driver
debug   libnfc.general  0 device(s) found using acr122_usb driver
debug   libnfc.driver.acr122_pcsc   PCSC device [Identiv uTrust 3700 F CL Reader] is not NFC capable or not supported by libnfc.
debug   libnfc.general  0 device(s) found using acr122_pcsc driver
debug   libnfc.general  0 device(s) found using pn53x_usb driver
No NFC device found.

卸载驱动程序后:

% sudo LIBNFC_LOG_LEVEL=3  nfc-list -v
debug   libnfc.config   key: [allow_intrusive_scan], value: [yes]
debug   libnfc.config   Unable to open directory: /usr/local/Cellar/libnfc/1.7.1/etc/nfc/devices.d
debug   libnfc.general  log_level is set to 3
debug   libnfc.general  allow_autoscan is set to true
debug   libnfc.general  allow_intrusive_scan is set to true
debug   libnfc.general  0 device(s) defined by user
nfc-list uses libnfc 1.7.1
debug   libnfc.general  0 device(s) found using arygon driver
debug   libnfc.general  0 device(s) found using pn532_uart driver
debug   libnfc.general  0 device(s) found using ACR122S driver
debug   libnfc.general  0 device(s) found using acr122_usb driver
debug   libnfc.general  0 device(s) found using acr122_pcsc driver
debug   libnfc.general  0 device(s) found using pn53x_usb driver
No NFC device found.

这个 SO question似乎提供了相同的建议:

...您可以将基于 PC/SC 的 libnfc 驱动程序用于 ACR122U (libnfc.driver.acr122_pcsc)。此驱动程序使用系统 PC/SC 守护程序来访问读卡器,而不是直接控制 USB 接口。要使此选项起作用,您需要将 lib-nfc 配置为使用 PC/SC 驱动程序而不是直接 USB 驱动程序。当您自己编译 libnfc 时,您可以通过仅显式激活基于 PC/SC 的驱动程序来做到这一点:

/configure --with-drivers=acr122_pcsc 
make

但是,请注意,此驱动程序已被弃用,libnfc 作者强烈反对使用它。

我在我的设备中找不到芯片,但我怀疑它是流行的 pn53x(设备04e6:5790)。

今天有首选方法吗?在 Linux 和 macOS 上是否可以使用其他工具与 NFC 阅读器和标签进行通信?

编辑:虽然需要回答这个问题才能让 NFC 在 macOS 上运行,但目前似乎没有浏览器在桌面上支持此功能。

现在,我可以在 macOS 和 Linux 上将读卡器作为常规非接触式智能卡读卡器(通过 PC/SC 的 CCID)访问,但是如何使用 NFC 控制器从 NFC 标签而不是 ATR 获取类似 ATS 的东西?

4

0 回答 0