问题标签 [desfire]
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.
mifare - 如何获取 Mifare DESFire 文件大小
这个问题参考了 Mifare SDK TapLinx 库的使用。
我可以读取文件的内容。但我需要知道如何获取文件的大小。我能够读取内容,因为我在readData()
调用中硬编码了文件的大小。
我知道在 DESFire 规范中是0xF5
获取文件设置,并且文件的大小以 3 个字节返回。但是在 TapLinx 提供的库中并不清楚如何获取文件的大小。
nfc - 使用 DESfire EV1/EV2 进行外部身份验证?
对非接触式 Mifare Desfire EV1 或 EV2 执行“外部身份验证”的最直接方法是什么?
我已经libnfc
跑在上面PN532
和PN7150
读者身上了。
应用说明MF3ICDx21_41_81
说这张卡:
在阅读了有关此操作的信息后,这似乎是我想要做的。https://www.informit.com/articles/article.aspx?p=29265&seqNum=6将其描述为:
External Authenticate 命令由读卡器端应用程序与 Get Challenge 命令(在下一节中描述)一起使用,以允许读卡器端应用程序向卡验证其身份。
但在实践中如何做到这一点?
也许我可以pkcs11-tool
从 OpenSC on top of pcsc-lite
on top ofifdnfc
使用libnfc
,但这感觉很笨拙。当然,这必须是可能的libnfc
和/或libfreefare
?Python、C 或命令行;什么都可以。
authentication - 验证 Mifare DESFire
我尝试通过 PC/SC 在 Mifare DESFire 芯片上进行身份验证。到目前为止,我可以选择应用程序,但现在我一直在计算 RndA_dec。
我使用他/她的代码 并尝试重新构建以下示例:
但是使用以下输入键和 InitVector,我得到了这个异常:
当我使用 16 字节 initvector 时,我在这一行得到以下异常:
我的第一个问题是:当我想使用 AES 进行身份验证时,是否应该将 CryptoServiceProvider 从 3DES 更改为 AES?第二个问题:如何计算正确的输入?
encryption - 解密 DESFire ReadData 会话
我们正在努力解密 DESFire 数据。我们已经成功验证并且可以解密与我们创建的 RndA 相同的 RndA。
现在我们尝试从位置 0 读取 16 个字节的加密文件。
从一些 java 库中我们可以知道,我们必须使用加密命令作为 IV 进行解密。是对的吗?
这里的例子:
所以现在我们将 ReadCommand 与 Crc32C 连接起来:
然后我们将零填充到 16 个字节
然后我们使用会话密钥和 IV 0 生成 e(cmd + crc + padding) 以获得下一个 iv 用于解密响应:
现在我们用会话密钥和 IV:=e(cmd + crc32) 解密秘密并得到:
有很多零让我认为我们离答案不远了。所以请有人告诉我们,有什么问题?
我们将这个库用于Crc32C 这里是我们在测试中使用的完整代码:
authentication - Mifare DESFire EV1 4K AES 身份验证问题
请,有人可以告诉我我做错了什么。我必须对我的卡进行 AES 身份验证。该卡是 Mifare DESFire EV1 4K,读卡器是 Omnikey 5121。我在 Stack 上遵循了一些示例,但我总是在最后一步失败,即卡的旋转 RndA 不等于我的旋转 RndA。AES 配置有问题吗?
这是输出:
所以你可以看到 RndA_rot_dec 和 RndA_rot 不相等,我不知道为什么。
谢谢大家。
c# - C# CRC32 实现
我有以下示例:
但是使用以下计算器:sunshine2k和zorc.breitbandkatze我无法重建结果。文档说:Polynomial- 04C11DB7
、EDB88320
Reverse-、Initvalue-FFFFFFFF
以及结果不应该被反转。
我在 NuGet 上搜索了库并找到了 Nito,但也没有得到正确的结果。我还尝试了与标志和多项式 ( 04C11DB7
, EDB88320
) 的每种组合。
有人能告诉我我做错了什么吗?计算器和库错了吗?此外,我在两侧和 lib 上尝试了相同的 polinom 和标志组合,但得到了不同的结果:-( 有人可以告诉一个绝对正确的 lib 吗?
这是我的测试代码:
javacard - 带有 DESFire 仿真的 JavaCard 获得 Uid 的
我有一个带有模拟 DESFire EV2 的 JavaCard (SmartMX),并且想从 DESFire 和 JavaCard 中获取 Uid。
因此,我找到了以下 APDU 命令:
但只获得DESFire Uid。有人可以告诉如何检索 JavaCard Uid 吗?
我正在PCSC Lib
与C# .net5
.
文档说,第一个被调用的 protokoll 将继续进行。因此,我尝试使用 APDU 读取 JavaCard 空闲内存:
但是在再次调用 GetUid 后,我再次收到了 DESFire CSN/Uid。有人还可以告诉 JavaCard 的 Uid 具有哪种格式吗?