【问题标题】:Sending APDU command for reading a passive tag?发送 APDU 命令以读取被动标签?
【发布时间】:2018-10-15 09:40:04
【问题描述】:

我在我的 Beaglebone 上使用 libnfc 和 apdu_examle.c 和 PN532。 我有一个 android 示例,用于在我的手机上模拟 Miffare 经典 1k 卡 HCE(主机卡仿真),并且一切正常。如果我点击手机,我可以阅读手机发送的信息。

是否可以发送 apdu 命令从 Miffare 经典 1k 卡(无源标签)读取数据?不是电话。 该卡符合 ISO/IEC 14443A 标准。 卡上必须有特定的格式或数据结构吗?

以下是有关该卡的更多信息:

ISO/IEC 14443A (106 kbps) 目标: ATQA (SENS_RES): 00 04

  • UID 大小:单个
  • 支持位帧防冲突 UID (NFCID1): db 6c 10 2b
    SAK (SEL_RES): 08
  • 不符合 ISO/IEC 14443-4
  • 不符合 ISO/IEC 18092

基于MIFARE类型识别程序的指纹识别:

  • MIFARE 经典 1K
  • MIFARE Plus(4 字节 UID 或 4 字节 RID)2K,安全级别 1
  • 带有 MIFARE 1K 仿真的 SmartMX

【问题讨论】:

    标签: nfc apdu mifare lib-nfc


    【解决方案1】:

    MIFARE Classic 不适用于 APDU(ISO 7816 第 4 层),而是在第 3 层 + 专有扩展上运行。据我所知,除非手机具有 NXP 的 NFC 芯片组,否则无法使用 HCE 与其通信。

    但如果您的卡是带有模拟 MIFARE 的 SmartMX,这意味着您可以将 APDU 发送到 JavaCard 操作系统。您是否尝试过发送一个简单的命令,例如一个空的 SELECT 00A4040000

    【讨论】:

    • 我尝试发送 00A4040000,但收到“应用程序级别错误”错误。我想我明白我正在使用 libnfc 中的“nfc_initiator_transceive_bytes”函数来发送 apdu 命令,但标签不理解这一点。所以我需要发送本机命令,libnfc 中是否有函数可以在 libnfc 中发送本机命令?谢谢
    • 我对 libnfc 不熟悉,所以我无法真正帮助您,抱歉。也许你的卡有这个命令以某种方式受到限制。
    猜你喜欢
    • 2012-07-31
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    相关资源
    最近更新 更多