当前位置: 首页 > 知识库问答 >
问题:

无法验证用作NDEF标签的MIFARE Classic标签

郦楷
2023-03-14

我使用ACR 1255U-J1作为通过蓝牙连接的外部阅读器。我用来访问阅读器的库是acsbt-1.0.0preview 7。我使用以下命令对MIFARE经典标签的扇区1(块4)进行身份验证:

FF 82 0000 06 FFFFFFFFFFFF
FF 86 0000 05 01 00 04 60 00

当我对空的 MIFARE 经典标签进行身份验证(使用制造商默认配置)时,我收到响应状态字 9000。这表示身份验证成功。

但是,当我尝试对已格式化为NDEF标记的MIFARE Classic标记进行身份验证时,返回的状态字为6300

要进行身份验证的标签格式之间是否存在差异?

共有1个答案

谭卜鹰
2023-03-14

状态字6300表示身份验证失败。因此,您很可能使用了错误的密钥进行身份验证。

您当前尝试使用密钥A(<code>0x60</code>)进行验证,密钥值<code>FFFFFFFF</code>指向扇区1(<code<0x04</code>,因为它从块4开始)。

当MIFARE Classic标签被格式化为NDEF标签时,将使用下表中定义的恩智浦专有NDEF映射规范:

    < li>NFC类型MIFARE经典标签操作 < li>MIFARE Classic作为NFC类型MIFARE Classic标签

该NDEF映射将访问键更改为明确定义的值:

> < li>

MAD扇区0(和4K卡上的扇区16):

  • 键A将设置为A0A1A2A3A4A5
  • 键B可以设置为任何值。例如,Android会将其保留为默认值<code>FFFFFFFF</code>
  • 访问条件可以被设置为允许使用两个键进行读/写访问,或者允许使用键A进行只读访问和使用键B进行读/写入访问

NDEF扇区(如MAD中所述,范围为1..15(和4K卡上的17..39)):

  • 键 A 将设置为 D3F7D3F7D3F7
  • 键 B 可以设置为任何值。例如,Android会将其保留为默认值FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  • 访问条件可以设置为允许使用两个密钥进行读/写访问,或者允许使用密钥 A 进行只读访问,使用密钥 B 进行读/写访问。

其他不用于 NDEF 映射的扇区(如 MAD 中所述,在 1..15 范围内(和 4K 卡上的 17..39)):

  • 键和访问条件设置为其特定于应用程序的(或默认)值,并且不受 NDEF 映射规范的影响。

因此,由于标签使用NDEF映射并且您尝试对第一个NDEF扇区进行身份验证,因此您需要改为使用值为D3F7D3F7D3F7D3F7的NDEF密钥A:

FF 82 0000 06 D3F7D3F7D3F7
FF 86 0000 05 01 00 04 60 00

请注意,根据访问位的配置,您可能只能使用密钥A进行读取访问。

 类似资料:
  • captcha标签 标签名 作用 包含属性 captcha 生成前台图片验证码 height,width,font-size,length,bg,id 标签属性: | 标签属性名 | 含义 | | --- | --- | | height |验证码高度,必须 | | width |验证码宽度,必须 | | font-size |验证码字体大小,默认25 | | length |验证码长度,默认为

  • captcha标签 标签名 作用 包含属性 captcha 生成前台图片验证码 height,width,font-size,length,bg,id 标签属性: | 标签属性名 | 含义 | | --- | --- | | height |验证码高度,必须 | | width |验证码宽度,必须 | | font-size |验证码字体大小,默认25 | | length |验证码长度,默认为

  • 主要内容:验证器标签JSF有内置的验证器验证其UI组件。验证器标签可以验证可以是自定义对象的字段长度,输入类型。 我们必须在节点中使用URI的以下命名空间来包含验证器标签。 验证器标签 下表在JSF 2.0中有重要的验证器标签: 标签 描述 验证字符串的长度 验证数值范围 验证浮点值的范围 使用给定的正则表达式验证JSF组件。 自定义验证器 创建自定义验证器

  • JSF提供内置验证器来验证其UI组件。 这些标签可以验证字段的长度,输入的类型可以是自定义对象。 对于这些标记,您需要在html节点中使用以下URI名称空间。 <html xmlns = "http://www.w3.org/1999/xhtml" xmlns:f = "http://java.sun.com/jsf/core" > 以下是JSF 2.0中重要的Validat

  • 我有一个应用程序可以读取一个NDEF标签,没什么大不了的:-) 我找到了这个链接:如何发现NFC标签是否还在Android的范围内?什么是一个开始,但我不知道如何更新标签。 我很挣扎,我甚至不知道我尝试做的事情在技术上是否可行。 有没有人知道怎么做的?干杯 对不起,我试着看了一些教程和例子,但我还是不明白。 这是我的全部密码。读取标签需要长得多的时间,有时并不需要。我不知道如何和在哪里更新标签,以

  • 有人知道为什么会这样吗? //TimerTask类