问题标签 [apdu]

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.

0 投票
6 回答
26824 浏览

java - 如何从 Java 的 EMV 智能卡中读取 PAN

我需要使用智能卡读卡器从 Maestro/Mastercard 读取帐号。我正在使用 Java 1.6 及其 javax.smartcardio 包。我需要发送 APDU 命令,该命令将询问存储在卡芯片上的 EMV 应用程序的 PAN 号。问题是,我找不到常规字节数组来构造 APDU 命令,该命令将在任何地方返回所需的数据......

0 投票
1 回答
1987 浏览

java - Java Card Conversion

I have written a Java Card App and want to upload it to a Card. But the card supports Java 2.1.1 standard. So I am looking for a way of generating a 2.1.1 Compliant CAP file with my 2.2.2 Kit

I have:

  • Java 1.6
  • GPShell 1.4.2
  • Java Card 2.2.2
  • JCOP 30 V2 Card
0 投票
5 回答
11541 浏览

c# - 如何在 C# 中将文件写入智能卡

我想在接受 APDU 命令的处理器智能卡中写入文件。您知道 C# 或智能卡 sdk 中的任何示例吗?

有人用过http://code.google.com/p/pcsc-sharp/吗?

0 投票
1 回答
742 浏览

java - 黑莓上的 JSR 177 支持

我一直在尝试通过 APDU 交换与 SIM 应用程序进行交互。为了交换 APDU,我必须通过 Connector.open() API 创建一个 APDUConnection,但是这个特定的 API 会引发一个 IO 异常,指出“此平台不支持 JSR 177”,我不知道这是否会发生,因为我对此进行了测试模拟器或黑莓设备是否也不支持。

我想知道,有没有人成功地与黑莓上的 SIM 应用程序交互?如果是,有什么方法可以做到?如果我可以实现 JSR 177,是否可以向 Blackberry SDK 添加扩展?如何扩展 SDK 以包含此类扩展?我真的很感谢你们的任何意见。提前致谢。

0 投票
3 回答
707 浏览

java - 智能卡开发

我需要一个关于如何从计算机中提取 cap 文件并将其划分为块的“java”源代码,以便使用 APDU 将其发送到智能卡以安装或加载或删除应用程序。提前致谢。

0 投票
1 回答
195 浏览

mobile - 手机中的后台任务,用于访问安全元件和 Web 服务器

在 GSM 手机操作系统(例如 Android、Win Mo、Symbian 等)中是否有可能有某种后台任务或应用程序能够同时与网络服务器和手机的安全元件交换数据?

目的是让 Web 服务器能够在不激活移动设备的 IHM 的情况下将 APDU 推送到安全元件(检索响应 APDU)。

注意:我知道当安全元件是管理 GSM 基带的元件时,这是可能的,例如使用Ulysse规范中描述的 BIP。我的问题只是在使用另一个安全元件(例如 microSD 中的 Java 卡)时。

0 投票
1 回答
4113 浏览

smartcard - 如何编辑智能卡的内容?

你能告诉我如何编辑我的智能卡的内容吗?
我应该如何使用 APDU 命令来编辑内容?

假设我在智能卡上有这样的东西:

我希望它是:

我怎样才能做到这一点?可能吗?如果是,如何?

我有ACR-122 NFC READER/writer

0 投票
1 回答
415 浏览

java - 找不到 apduToolTask

我是 Java 卡平台的新手,目前我正在使用 Java 卡经典版 v 3.0.1,当我使用 Apache ANT 命令 - ant all来构建 build.xml 文件时,我收到以下错误:

c:\java\java_card_kit-2_2_2\samples\build.xml:17: taskdef 类 com.sun.javacard.ant.tasks.APDUToolTask​​ 找不到

我已经按照说明进行操作,要求我也设置 ANT 的系统路径。我正在使用 ANT 1.8.1。

有人可以帮忙吗?

问候,

0 投票
1 回答
4597 浏览

smartcard - 通过其 SFI 在智能卡上选择 EF

一些智能卡提供通过 SFI(短文件标识符)引用文件的选项,它是一个 5 位数字。相反,典型的文件标识符是 2 个字节长。

我需要一些帮助来弄清楚如何做到这一点,因为我未能在ISO 7816-4中找到答案。

首先,第 5.3.1.1 节状态(强调我的)

通过短 EF 标识符选择 — 短 EF 标识符可以引用任何 EF。它由五个不完全相等的位组成,即从 1 到 30 的任何数字。当用作短 EF 标识符时,数字零,即二进制 00000,引用当前 EF。在 MF 级别,保留数字 30,即二进制的 11110(见 8.2.1.1)。短 EF 标识符不能用于路径或作为 EF 标识符(例如,在 SELECT 命令中)。

我对这句话的解释是“你不能使用 SFI 来选择智能卡上的文件”——这不是我所期望的。

此外,第 7.1.1 节指定了如何使用 SELECT APDU 命令;表 39 规定了 P1 的内容。但是,没有一个示例说明如何通过 SFI 对其进行寻址(它们都是大约 2 字节的标识符)。

所以我的问题是:

  1. 添加 SFI 的原因是什么?每个标识符 2 个字节太多了?
  2. 如果文件的 SFI 已知,如何选择文件?
0 投票
1 回答
2104 浏览

c# - 选择 AID 命令不起作用

我正在开发一个使用 C# 读取 EMV 卡的应用程序。我使用 Winscard.dll 。我建立了连接 - 选择了读卡器 - 连接到卡并获得 ATR。但是当使用 AID 列表发送命令 Slecetd Application 时,我没有收到任何数据,我希望收到 SW1SW2 为 61XX(其中 XX 是数据长度)我发送的命令为 00A4040007A0000000031010 。

代码是:

//====================================== public void ScardTransmit() { SCARD_IO_REQUEST ioRecv = new SCARD_IO_REQUEST (); 字节[] pbRecvBuffer = 新字节[255]; int pcbRecvLength = 255; byte[] pbsendBuffer = this.GetSendBuffer();

}