- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用Delphi编写应用程序,它可以与Android手机和DESFire卡通信。我知道,我必须向卡片发送一些字节,卡片会回答我。我阅读了有关它的文章:
https://ridrix.wordpress.com/2009/09/19/mifare-desfire-communication-example/
我不知道,如何从卡中写入和读取字节?我根据 Daniel Magin 编写了简单的应用程序:
http://www.danielmagin.de/blog/index.php/2014/09/nfc-android-application-with-delphi-xe6-and-xe7/
本程序只能从卡中读取UID。
function TNfc.ReadNFCUID: string;
var
Intent: JIntent;
jIntentName: JString;
IntentName: string;
tagId: Androidapi.JNIBridge.TJavaArray<Byte>;
tagFromIntent: JParcelable;
id: string;
i: Integer;
begin
id := '';
Intent := SharedActivity.getIntent;
if Intent <> nil then
begin
jIntentName := Intent.getAction;
IntentName := JStringToString(jIntentName);
tagId := Intent.getByteArrayExtra(TJNFCAdapter.JavaClass.EXTRA_ID);
tagFromIntent := Intent.getParcelableExtra
(TJNFCAdapter.JavaClass.EXTRA_TAG);
if (tagId <> nil) and (tagFromIntent <> nil) then
begin
for i := 0 to tagId.Length - 1 do
id := id + IntToHex(tagId.Items[i], 2);
end;
end;
Result := id;
end;
最佳答案
我找到了我的问题的解决方案:
..
var
isoNFC : JIsoDep;
tag : JTag;
aRawData : TJavaByteArray;
aResponse : TJavaByteArray;
begin
aRawData := TJavaByteArray.Create(1);
tag := TJTag.Wrap((CurrentNFCTag as ILocalObject).GetObjectID);
isoNFC := TJIsoDep.JavaClass.get(tag);
isoNFC.connect();
aRawData.Items[0] := TCmd.GetApplicationIDs;
aResponse := isoNFC.transceive(aRawData);
..
关于android - 在 Delphi 中与 Mifare DESFire 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26767872/
我有一张非接触式卡,并且我知道它是 MIFARE 卡。我没有文件,也没有身份验证 key 。重置后,我收到以下 ATS: myubuntu@lol-MS-7693:~$ nfc-list nfc-li
在多个 Android 设备上,Mifare DESFire 通信被路由到 HCE 而不是脱离主机 (UICC)。 通过基于 OMAPI 与脱离主机安全元素的通信,我已经学会了如何将 AID 添加到
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
Stackoverflow 上有很多关于 Desfire EV1 卡的问题。 但是如果你搜索一些示例数据,你会发现几个字节的唯一地方是 Ridrix Blog .但这很不完整。 很多人在为 Desfi
有没有办法将 DESFire 卡重置为原始状态?是否有格式化和删除所有内容的命令? 我读到 DeleteApplication apdu 命令删除了应用程序及其文件,但空间仍然不可用。 谢谢。 最佳答
我需要在 Android 设备上模拟 DESFire EV1 卡。但是,我对如何将 Mifare SDK(精简版或高级版)与 HCE 结合使用感到困惑。 这可能吗?我需要开始这个项目,我对数据如何在
我知道如何从 Mifare DESFire 标签读取和写入 ndef 消息,但在与 Android 进行通信时,我很难理解如何使用 DESFire 支持的命令集。 我知道它与 transceive(b
上周我一直在尝试使用具有默认 key (00000000h) 的 MIFARE DESFire EV1 卡进行身份验证,但无济于事。我关注了this blog对信的指示。我实现了Send mode C
我已经实现了 AES key 多样化 AV2,现在我想知道什么是 SAM AV1,它是如何工作的?任何人都可以分享链接或提供一些信息吗? 只是为了分享一些知识,以 AV2 为例: /*
当使用 Desfire 原生包装的 APDU 与卡通信时,必须使用命令和响应的哪些部分来计算 CMAC? 身份验证成功后,我有以下 session key : Session Key: 7CCEBF7
我现在有一张新的 Desfire EV1 卡。我想用 AES 加密设置 PICC 主 key 。我怎么能那样做?到目前为止,我可以使用单个 DES 获取 session key 。 最佳答案 您需要从
我有一个使用 MIFARE DESFIRE EV1 卡创建考勤系统的项目。 我需要用于此项目的读卡器品牌仅支持 ISO 7816-x,因此我需要使用 DESFIRE ISO7816-4 APDU Wr
我正在尝试使用我的 Android 应用程序验证 DESFire 卡。我用 the example in this link解密我从卡上得到的字节。为此,我排除了解密中的填充(在下面注释掉),因为 D
我在使用 MIFARE DESFire 时遇到了一个非常奇怪的问题。当我写入少量数据(例如11字节)时,写入操作成功。然而,当我尝试写例如50字节,响应为917E,说明命令存在长度问题。 尝试写入11
有没有人知道如何解密从卡发送的第一条消息?我的意思是在身份验证成功之后,然后你发送一个命令(例如 0x51 (GetRealTagUID)。它返回 00+random32bits(总是不同的)。我尝试
哪种类型的 CRC 用于更改 Desfire 卡中的 key ?CRC 字节的顺序是否应该颠倒。我无法更改 PICC 应用程序的 key 。任何人都可以帮忙吗? 最佳答案 CRC16/32 和 MAC
我正在尝试使用以下几行将一些数据写入带有 Galaxy S3 的 Mifare DesFire 卡: private byte[] wrapMessage (byte command, byte[]
从 DESFire EVO1 卡(AES 加密)读取数据时,出现 InvalidResponseLengthException。我正在使用 taplinx 库版本 1.5 我的代码如下所示: priv
我有一个 DESfire Ev1 1.3 版卡,我正在尝试使用 ISO7816 apdu 样式选择一个文件。 我有一个文件,有帮助 A0 A1 A2我可以使用 native 或包装模式选择它: 本国的
我想在本地模式下使用 desfire 卡进行身份验证。这是我目前的步骤: 我选择主应用程序 (AID = 0×00 0×00 0×00) 我收到来自卡片的响应(一个“挑战”,randB) 然后,在第二
我是一名优秀的程序员,十分优秀!