处理方法未从主机接收完整的 APDU 命令?

2023-12-11

主机向小程序发送以下命令选择EF文件

00 A4 02 00 02 40 01

目的是选择带ID的EF文件40 01(在命令的数据字段中指定)。

但是当我调试 process(APDU apdu) 方法时,APDU 缓冲区仅包含前 5 个字节00 A4 02 00 02。数据字段设置为00 00。所以我的小程序无法使用 EF ID 选择 EF。

你能告诉我上面的 APDU 命令有什么问题吗?


根据卡(或仿真器)的不同,APDU 缓冲区可能仅包含 APDU 标头字段(CLA、INS、P1、P2、Lc)。即使某些卡自动将命令 APDU 的数据部分填充到 APDU 缓冲区中,您也不能依赖该行为。

相反,您必须通过调用显式指示卡(或模拟器)检索数据部分setIncomingAndReceive()APDU 对象上的方法。但请注意,只能针对情况 3 和情况 4 APDU(即包含命令数据部分的 APDU 命令)调用此方法。如果没有命令数据字段,则不应调用此方法(情况 1 和情况 2 APDU)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理方法未从主机接收完整的 APDU 命令? 的相关文章

  • Mifare认证

    假设我想对 Mifare Classic 进行身份验证 我如何知道要发送到卡的 APDU 的确切类型 Example 这段代码 bcla 0xFF bins 0x86 bp1 0x0 bp2 0x0 currentBlock len 0x5
  • 如何更改小程序的权限和卡历史字节?

    我已经认为更改历史字节仅限于预个性化步 但是 我发现了一个名为设置ATRHistBytes今天在 GlobalPlatform API 中 这是它的描述 GlobalPlatform 2 2 第 172 页 设置ATRHistBytes p
  • 使用 ACR122 在卡模拟模式下将数据写入 Nexus 4

    我正在尝试通过 NFC 即卡模拟模式 向 Nexus 4 发送一些数据 我尝试了许多命令 APDU 例如写入和更新 APDU 但无法让它们工作 我想说的是 我想在选择 APDU 命令后向手机发送一些数据 不是 AID 提前致谢 Bader
  • 用于获取智能卡序列号的 APDU 命令

    如何使用 APDU 命令获取智能卡的序列号 我尝试使用 SCardGetAttrib 函数来查询它winscard dll不幸的是 我被告知使用 APDU 命令来执行此操作 因为没有标准方法来获取序列号 问题是我无法弄清楚我的智能卡是什么类
  • JAVACARD2.2中selectApplet()方法的功能是什么

    正如 JavaCard 2 2 API 文档中提到的here http www win tue nl pinpasjc docs apis jc222 javacard framework Applet html selectingAppl
  • 在javacard中安装小程序

    我通过 Eclipse 制作了流行的 Hello World javacard 代码的 cap 文件 现在我想通过 GPShell 和 ACR38 智能卡读卡器将其加载到真正的 javacard 中 问题 我需要任何密钥才能将 cap 文件
  • Java Web 应用程序可以访问远程工作站上的智能卡读卡器吗?

    我正在为我们现有的基于 Java 的 Web 应用程序之一开发一些新功能 该网络应用程序本身托管在我们的一台内部服务器上 可以通过我们工厂内多个计算机终端的浏览器进行访问 该应用程序用于在我们生产过程的各个阶段进行质量检查 目前 在进行每次
  • 带有 ACR122U 的 libnfc 对 SELECT(通过 AID)APDU 没有响应

    See NFC 读取器 SELECT 通过 AID APDU 未路由到 Android 设备 https stackoverflow com q 50316799 2425802关于调试和最终结果 TL DR 读者可能已经不复存在了 我有
  • 如何创建和使用Java Card库包?

    正如您可能知道的 正如中提到的Java 卡开发套件用户指南为Java Card平台编写大型应用程序的关键是将代码划分为单独的包单元 软件包最重要的限制是最大组件大小为 64KB 对于 方法组件 如果应用程序的方法组件的大小超过 64KB 那
  • Java 卡连接到模拟器失败

    我正在尝试测试 Java Card 小程序以建立与 cref 等模拟器的连接 try sckClient new Socket localhost 9025 InputStream is sckClient getInputStream O
  • SIM卡认证

    我是 SIM 卡新手 我正在尝试使用 Gemalto JCardManager 金雅拓开发人员套件的一部分 和 Gemplus USB 智能卡读卡器对 SIM 卡进行身份验证 显然 我拥有所有必要的密钥 kic kid 和 kik 但我无法
  • 在 Android 上使用 NFC 软件卡模拟控制完整的 APDU

    我正忙于开发一个应用程序来模拟 Nexus 7 上使用 CM10 1 与 ACR122U102 读取器 写入器的正常 APDU 通信 我发现这个博客是关于软件卡模拟 http nelenkov blogspot nl 2012 10 emu
  • Secure Com SCP02 会话:响应初始化更新命令返回的“密钥多样化数据”的作用是什么

    在初始化更新命令的响应字段中 密钥多样化数据 包含制造商ID和安全域AID的最后两个字节 被返回到Off Card实体 我想知道这些数据的用途是什么 我在某处读到 该密钥多样化数据用于派生卡外的基本密钥 我不知道这是对还是错 如果是正确的
  • SCardEstablishContext 内存泄漏

    我们在某些 Windows 安装上突然出现智能卡 API 问题 调用 SCardEstablishContext 函数时似乎存在内存泄漏 可以在控制台应用程序中重现该问题 代码示例位于http www pinvoke net default
  • Android 应用程序模仿物理 RFID 卡

    Android 应用程序是否可以将之前存储的 RFID 卡 ID 发送到 NFC 读卡器 目标是使用 Android 设备代替物理 RFID 卡来访问房间 在阅读了许多有关 NFC RFID 和卡模拟的其他帖子后 我得出的结论是 它目前在
  • 从eek-for-android 访问时,Javacard 小程序 RPDU 不包含任何数据

    我有一个复杂的 Javacard 小程序 它是为普通智能卡 例如 NXP J3E145 T 1 开发和测试的 现在我必须在手机的 UICC 中使用它并从我的 Android 应用程序访问它 UICC使用T 0协议 当我从普通读卡器 Omni
  • 在智能卡中选择DF(专用文件),返回错误6981

    我编写了一个与智能卡通信的程序 Gemalto 公司 MPCOS 小程序 我可以成功连接到卡并传输命令并获取数据 但是我有一个问题 当我使用00 A4 01 00 02 02 00命令选择 DF 专用文件 它返回了错误69 81 文件指示符
  • 如何在Windows 8上正确使用SCardGetStatusChange?

    智能卡服务在 Windows 8 上的行为有所不同 并且 MSDN 尚未更新其文档 任何人都可以提供有关如何正确调用 SCardGetStatusChange 来监视 Windows 8 上的智能卡操作的代码片段吗 提前致谢 这是我为个人博
  • 使用 PC/SC 读卡器验证 Ultralight EV1

    我在尝试使用 Java 中的 PC SC 读卡器 特别是 ACR1222L 验证 Ultralight EV1 卡时遇到问题 我能够使用 ISO 14443 3 标签的相应 APDU 在不受保护的标签上进行写入和读取 但是 我找不到运行 P
  • 关于Javacards中SELECT APDU命令的一些问题

    下面引用的段落是一篇文章的一部分 该文章名为如何编写 Java Card 小程序 开发人员指南陈志群撰 我看到了here http lig membres imag fr donsez ujf messi sc examples javaw

随机推荐