问题标签 [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.
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”
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
.
我究竟做错了什么?
这是堆栈跟踪:
nfc - NFC用作mifare,可以吗?
我们有一个 mifare 卡系统,并且正在研究在手机中使用 NFC 芯片作为 mifare 卡的可能性。
我对 NFC 进行了一些研究,但我无法回答的问题是手机中的 NFC 芯片是否有一个我可以像 mifare 卡一样读取的唯一标识符?
此外,如果 NFC 芯片有唯一代码,我可以使用 NFC 阅读器读取它,还是需要手机上的应用程序将其置于卡模拟模式?
nfc - 如何在 Android 中获取 MIFARE 访问条件
我这样做的方法是从块3中读取数据并从结果中选择适当的字节以获得访问条件(例如:FF 07 80 69)
这样,如果我没有 keyA 或 keyB,我就无法从块 3 中获取数据。
还有其他方法可以获取访问条件吗?
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
java - Desfire - Ndef 应用程序的命令:获取安全异常
我将以下命令发送到 Desfire 标签以检测 Ndef Application :
我无法得到任何响应,因为我收到以下安全异常:SCARD_W_RESET_CARD
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.
java - 在Android中发现标签时如何识别mifare classic和mifare ultralight
我正在使用 android 中的 nfc,我想知道发现的标签是 Mifare Classic 还是 Mifare Ultralight 或任何其他标签。请告诉我怎么做?
c# - 如何使用 MIFARE 1k classic 跨多个块写入 NDEF 记录?
我用 C# 编写了一个将 NDEF 记录写入 MIFARE 1k 标签的应用程序。我使用 ACR122 非接触式读卡器发送 APDU 命令。
我要写的记录是URI类型的,而且它需要很长,所以这就是我的问题开始的地方。
到目前为止,我能够写入我想要的任何块,但我只能读取第一个扇区(块 4,5 和 6)中写入的内容。块 8 和 9(第二扇区)有内容但无法读取。
由于我无法写入扇区块,因此我从块 6 跳转到了 8。所以,我不确定是否必须设置一个字节来指示消息在另一个块上继续。
有什么想法吗?
我正在使用我的 android nfc enable 来阅读消息...
nfc - 区分 Mifare Ultralight 和 Mifare Ultralight C
是否有可靠的方法来确定 RFID 卡是 Mifare Ultralight 还是 Mifare Ultralight C?
到目前为止,我发现的唯一方法是利用这两张卡的大小差异,发出超出较小卡边界的读取命令。但它看起来确实像一个黑客,我假设如果卡使用 Ultralight C 身份验证机制,读取命令可能会失败。