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

使用APDU读取智能卡数据

景英杰
2023-03-14

我使用ACR122U-A9读取智能卡,通过以下APDU,我可以获取UID和ATS:

UID: FF CA 00 00 00
ATS: FF CA 01 00 00

使用NXP TagInfo应用程序(android),我可以看到一个包含我所需数据的十六进制表。使用什么APDU命令可以检索这些数据?

六边形表如下所示:

[0000] 00 00 00 00 74 65 73 74 [test]
[0008] 00 00 00 00 00 00 00 00 [......]

[0000]中是我想要检索的数据。

共有1个答案

郭洋
2023-03-14

首先,您在问题中没有提到您使用的是哪种类型的标签(T2T、T4T等)。如果您使用的是T2T,则无法直接访问前10个字节,因为它们是内部字节。如果您可以访问激活序列的初始APDU传输,您可以在那里找到从卡传输到读取器的UID。

NXP提供了一个名为“TapLinx”的开放api java和android库。为了便于使用,你可以免费使用这个图书馆。

干杯

 类似资料:
  • 问题内容: 我已经编写了一个applet,并将其安装在智能卡中。但是我不知道如何在智能卡上读写数据? 从智能卡读取数据是否正确? 请告诉我如何使用javacard将数据写入智能卡。 问题答案: 我找到了解决方案。实际上我正在使用eclipse,因为其中安装了编辑器java卡插件。当我在智能卡上运行程序时,每次都会在以前的applet上安装最新的applet。要查看结果,我们可以使用pyapdu工具

  • 我已经使用了无需太多努力即可从智能卡读取序列号。然而现在我被指派在空白卡片上创建MF(没有它序列号就无法读取)。我正在根据ISO7816指南创建APDU命令,但无法创建正确的APDU命令,因为我的十六进制值被转换为错误的字节。 我有两个问题 1:命令APDU中的数据采用了错误的字节(标记为*)。 2: SW1和SW2返回为6A 80,这意味着数据栏中的参数是不正确的(我猜是因为负值,而将十六进制格

  • 我正在尝试将小程序(.cap文件)安装到智能卡中。我读到可以使用APDU完成。我使用Netbeans创建了我的小程序,它的助手是//aid/9AE9BE4D27/53。 首先构建apdu,选择安装程序小程序: ; 然后构建将创建我的小程序的apdu(遵循此结构): 我开发了一个应用程序,可以使用。我想如果我发送正确的安装命令,我的。cap文件应安装在卡中。 有了这些信息,谁能帮我建立正确的apdu

  • 我有一个Java应用程序,可以从智能卡读取证书,并使用它们登录用户。该应用还可以使用其他登录方法(用户名和密码)跟踪失败的登录尝试。 我想知道是否有可能在没有引脚的情况下从智能卡中读取用户信息?我想将失败的pin条目标记为失败的登录尝试,但是因为我需要pin从证书中读取别名,所以我无法知道哪个用户正在尝试登录。有没有读取这些信息没有引脚在Java? 我根据这个线程的建议尝试加载KeyStore对象

  • 我可以毫无问题地从智能卡发送大部分数据。我注意到由于某种原因,我总是需要删除APDU中的前6个字节才能获得真正的数据。 然而,当发送一个特定的数据时,很难知道数据在APDU中的位置。 这是Java智能卡模拟器的代码: 预计发送/接收的数据为: {0x2} 但是,在中间件APDU中接收到的数据响应是: 响应Apdu.get数据(): {0x80,0x32,0x0,0x0,0x8,0x0,0x0,0x

  • 首先,我对智能卡还比较陌生,我不知道数据是如何存储的,哪些数据在智能卡上受到保护。 我正在读我的学生身份智能卡,它有PIN码保护。我一直在用默认的windows智能卡库(winscard.lib)用C编程。 我已经成功地阅读了ATR标题,但据我所知,ATR标题包含如何与读者沟通的信息,而不是用户信息。 我试过从卡中读取二进制文件,但APDU总是返回6E 00,表示“不支持类”或“错误指令”。以下是