问题标签 [mifare]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1107 浏览

java - DESFire认证解密

我目前正在使用 DESFire EV1 非接触式卡。我正在尝试用主密钥解密 DES/CBC 加密的 random_b:“00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00”。

我正在使用这段代码:

但这段代码没有正确破译。我得到这个无效的结果:“4B 9D 5A 91 AE 93 F8 ED”正确的是:“A4 2F 3E 84 2C 5A 29 68”

0 投票
2 回答
10714 浏览

android - 使用 Android NFC 写入 Mifare 标签?

我正在尝试将一个简单的“Hello World”字符串写入 Mifare 1K 标签上扇区 0 的第一个块。该标签是全新的,具有默认配置。扇区尾部(块 3)在读取时为:00 00 00 00 00 00 00 00 ff 07 80 69 ff ff ff ff ff ff ff ff. 因此,访问条件是ff 07 80 69,这意味着我可以使用密钥 A 对每个块进行读写。

尽管如此,我还是无法在标签上写任何东西。这是我的代码:

我收到以下异常:Transceived failed.

我究竟做错了什么?

这是堆栈跟踪:

0 投票
2 回答
19598 浏览

nfc - NFC用作mifare,可以吗?

我们有一个 mifare 卡系统,并且正在研究在手机中使用 NFC 芯片作为 mifare 卡的可能性。

我对 NFC 进行了一些研究,但我无法回答的问题是手机中的 NFC 芯片是否有一个我可以像 mifare 卡一样读取的唯一标识符?

此外,如果 NFC 芯片有唯一代码,我可以使用 NFC 阅读器读取它,还是需要手机上的应用程序将其置于卡模拟模式?

0 投票
1 回答
689 浏览

nfc - 如何在 Android 中获取 MIFARE 访问条件

我这样做的方法是从块3中读取数据并从结果中选择适当的字节以获得访问条件(例如:FF 07 80 69)

这样,如果我没有 keyA 或 keyB,我就无法从块 3 中获取数据。

还有其他方法可以获取访问条件吗?

0 投票
4 回答
22878 浏览

android - Android NFC API 对 Mifare Desfire 的支持程度如何?

我可能正在开展一个项目,将现有的 Desfire 卡(用于访问付费服务)替换为支持 NFC 的移动设备。任何人都可以向我指出任何资源以帮助我了解 a) 将 Desfire 卡的数据复制到移动设备上,以便它可以代替卡,以及 b) 应用程序提供 NFC 数据以呈现给读卡器就像一张卡片。所有相关的密钥和访问权限都将由发卡机构提供(如果项目继续进行),但我很想提前了解这个过程。

我还需要了解 Android NFC API 对 Desfire 的支持程度,因为据我所知,它只能正确支持 Classic。http://developer.android.com/reference/android/nfc/tech/package-summary.html

0 投票
2 回答
506 浏览

java - Desfire - Ndef 应用程序的命令:获取安全异常

我将以下命令发送到 Desfire 标签以检测 Ndef Application :

我无法得到任何响应,因为我收到以下安全异常:SCARD_W_RESET_CARD

0 投票
3 回答
7597 浏览

java - javax.smartcardio: how to send native commands to Desfire card?

I am creating a java application communicating with a Mifare DESFire card through a PC/SC contactless reader and the javax.smartcardio API. I manage to send regular ISO 7816 APDUs (CLA, INS, P1-P2, Lc, Command data, Le).

I have read on Ridrix's Blog that DESFire cards (at least the EV1 version that I am using) support both APDUs and Native commands where most of the commands are only 1 byte long.

For example, the "Get Version" command:

I tested that command with the PC/SC Diag program from SpringCard (available here) and I get a correct response.

But I cannot send this command with javax.smartcardio: this API seems to have been created for real APDUs and therefore does not allow 1 byte long commands.

Here is what I did:

It gives me the following error:

I tried the only (AFAIK) other way to send a command:

and get a similar error:

Do you know of any way to send this kind of command using javax.smartcardio or something else?

I know it is possible to wrap these commands but I would prefer to use the (simpler) native commands.

Thanks.

0 投票
2 回答
791 浏览

java - 在Android中发现标签时如何识别mifare classic和mifare ultralight

我正在使用 android 中的 nfc,我想知道发现的标签是 Mifare Classic 还是 Mifare Ultralight 或任何其他标签。请告诉我怎么做?

0 投票
1 回答
3396 浏览

c# - 如何使用 MIFARE 1k classic 跨多个块写入 NDEF 记录?

我用 C# 编写了一个将 NDEF 记录写入 MIFARE 1k 标签的应用程序。我使用 ACR122 非接触式读卡器发送 APDU 命令。

我要写的记录是URI类型的,而且它需要很长,所以这就是我的问题开始的地方。

到目前为止,我能够写入我想要的任何块,但我只能读取第一个扇区(块 4,5 和 6)中写入的内容。块 8 和 9(第二扇区)有内容但无法读取。

由于我无法写入扇区块,因此我从块 6 跳转到了 8。所以,我不确定是否必须设置一个字节来指示消息在另一个块上继续。

有什么想法吗?

我正在使用我的 android nfc enable 来阅读消息...

0 投票
2 回答
2314 浏览

nfc - 区分 Mifare Ultralight 和 Mifare Ultralight C

是否有可靠的方法来确定 RFID 卡是 Mifare Ultralight 还是 Mifare Ultralight C?

到目前为止,我发现的唯一方法是利用这两张卡的大小差异,发出超出较小卡边界的读取命令。但它看起来确实像一个黑客,我假设如果卡使用 Ultralight C 身份验证机制,读取命令可能会失败。

来源