繁体   English   中英

将MIFARE DESFire EV1配置为NDEF的NFC论坛4类标签

[英]Configure MIFARE DESFire EV1 as NFC Forum Type 4 Tag for NDEF

我使用Android的NFC开始学习。 我可以轻松地以NDEF格式进行读写。

我的问题是MIFARE DESFire EV1 ,我有一些出厂卡,并且我知道它们不符合NFC论坛4类标签规范,因此,不接受以NDEF格式进行读写(当处于出厂配置时) )。

我可以通过android.nfc.tech.NfcAandroid.nfc.tech.IsoDep访问该标签。

到目前为止,我了解我需要使用IsoDep.transceive()方法来传递使我能够构建符合NFC论坛4类标准的标记的命令。

但是我有很多麻烦。 我正在使用TagWriter,它可以完美地完成服务。 每次我使用NDEF数据集时,它都会自动执行一个例程,使该卡成为NFC论坛4类标签,并因此成为NDEF标签。

但是,我自己找不到任何简单的示例来执行此过程。 即使阅读了规范文档NFCForum-TS-Type-4-Tag_2.0,我仍然非常迷失。

是否有任何实际的示例可以完成TagWriter应用程序的过程?

  • 识别NfcA / IsoDep (可以在此处确定)
  • 使卡符合NFC论坛Type 4标签规范
  • 开始将标记识别为android.nfc.tech.Ndef
  • 启用NDEF的读写

将MIFARE DESFire EV1准备为NFC论坛4类标签(V2.0)的过程不属于独立于平台的NFC论坛规范。 而是由芯片制造商(NXP)在其应用笔记AN11004:MIFARE DESFire作为Type 4 Tag中定义此过程。 该过程是关于以下内容的:

  1. 如果Android已经检测到Ndef标签技术,那么您就完成了。 由于Android尝试检测NDEF标签应用程序和NDEF数据文件中包含的NDEF消息,因此找到Ndef标签技术意味着该标签已经为NDEF准备好了(即,它已被配置为NFC论坛Type 4标签)。

  2. 否则,您将检查标签是否确实是DESFire EV1标签。 您可以根据AN10833:MIFARE类型识别过程中描述的类型识别过程以及从DESFire标记获得的版本信息来执行此操作。

  3. 一旦知道该标签是DESFire EV1标签(并且您具有对主应用程序的足够访问权限,以便对标签应用必要的修改,这可能需要进行身份验证步骤),则首先将创建NDEF标签应用程序。 这是一个DESFire应用程序,在创建过程D2760000850101其ISO 7816-4 DF名称(= AID)设置为D2760000850101 您为DESFire AID,ISO文件ID选择的值对于正确的T4T操作并不重要(请注意,这对于EVFire之前的DESFire版本是不同的)。 关键设置取决于您的使用情况。 在创建应用程序期间,您需要设置的唯一另一个重要参数是允许应用程序内文件的ISO 7816-4文件标识符(“密钥设置2”字节中的位5设置为“ 1”)。

  4. 选择新创建的应用程序。

  5. 创建一个新的标准数据文件,即功能容器文件,大小为15个字节。 您需要将ISO 7816-4文件ID设置为E103 通过设置Com.Set,确保允许简单通信。 字节到0x00。 设置访问权限字段,以便以后可以在初始化期间修改文件内容。

  6. 创建另一个新的标准数据文件NDEF数据文件。 如果仅将标签用作NDEF标签,则通常会使用所有剩余的可用空间。 将ISO 7816-4文件ID设置为E104 通过设置Com.Set,确保允许简单通信。 字节到0x00。 对于只读标签,将“访问权限”字段设置为0xE000,对于应允许通过Ndef标签技术进行读写访问的标签,将其设置为Ndef

  7. 选择功能容器文件并向其中写入功能容器数据:

    \n 000F 20 003A 0034 04 06 E104 xxxx 00 yy\n

    其中xxxx是NDEF数据文件的大小,如果该文件可自由写,则yy为0x00;如果该文件为只读,则yy为0xFF。

  8. 选择NDEF消息文件,并将前2个字节写为0x0000(以指示该文件为空)。

请注意,在DESFire(EV1)卡上创建NDEF标记应用程序结构要求您使用MIFARE DESFire的本机命令或包装的本机命令集。 由于某些版本的Android会导致本机命令出现已知问题,因此最好使用包装的本机命令。 您可以在DESFire产品数据表中找到有关DESFire命令集的详细信息(仅在NXP的NDA下可用)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM