问题标签 [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 投票
1 回答
3759 浏览

nfc - 智能卡与 ACR122U 交互

我正在尝试编写一个使用 ACS ACR122U 卡终端与智能卡交互的应用程序。根据我能找到的所有内容,API 使用标准 APDU 命令和伪 APDU 的组合来与终端交互,但是伪 APDU 似乎不像声称的那样工作。

API 参考(在 ACS 站点上提供)表明“FF XX XX XX ...”形式的 APDU 将由终端解释(而不是发送到卡),但我总是得到“6E XX”的响应状态"(我将其解释为我发送了一个无效的类 ID)。我尝试使用“FF 00 40 0F 04 00 00 00 00”发送命令以使终端上的 LED 闪烁,并尝试使用“FF CA 01 00”从卡中获取一些唯一标识符。

我在 ISO 7816-4 文档(智能卡标准)和 ACS 提供的 API 参考中找不到任何有用的东西。此外,ACS 也不太愿意提供信息。有没有人知道我可能做错了什么或者我可以在哪里寻找更多信息?

连接卡后,我可以从终端获取 ATR - Answer To Reset。我正在开发与 Mifare 1K 卡的交互,并希望从中读取并与终端上的 LED 和蜂鸣器进行交互。

0 投票
2 回答
480 浏览

hashtable - java卡上的hastables

我是 Java Card 应用程序的新手。此时我想存储一个哈希表(字典),其中包含读取此类卡的终端的配置。如果哈希表有值,则必须将这些值检索到终端(我认为使用 APDU 对吗?),但如果没有值,则终端必须创建“默认”初始配置。

是否有可能做到这一点?如果是,怎么做?也许有一个为此准备好的小程序(例如用于密钥生成和签名的 Musclecard),但我还没有找到。

有什么建议吗?谢谢!

0 投票
1 回答
8417 浏览

nfc - mifare 经典上的 APDU 写入块命令

我一直在尝试将一些数据写入我的 mifare 经典卡。首先我发送这两个返回 90 00 的命令:

加载 Mifare 密钥:

FF 82 20 01 06 FF FF FF FF FF FF

认证:

FF 86 00 00 05 01 00 01 60 01

现在我可以将命令写入扇区 0 并阻止 1 + 2

ff d6 00 01 10 14 01 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1

ff d6 00 02 10 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1 03 E1

我错误地覆盖了块 3 几次,导致该扇区无法读取:

如果我发送命令 ff d6 00 04 10 我得到返回错误 69 82 我用谷歌搜索为身份验证错误

我需要对每个部门进行身份验证吗?如果是这样,对下一个和后续扇区执行此操作的命令是什么?

0 投票
1 回答
2270 浏览

smartcard - 在哪里可以找到 DoD CAC 的 APDU 命令列表

我正在寻找用于 DoD CAC 的 APDU 命令。我试图从卡片中提取尽可能多的信息。到目前为止,谷歌还没有提供任何帮助。

0 投票
3 回答
20679 浏览

android - 通过软件 NFC 进行卡模拟

在阅读了很多问题后,我决定发布这个。我读到 android 的股票版本不支持用于卡模拟的 API。此外,由于 google/samsung 管理的密钥,我们无法编写自定义应用程序来保护嵌入在 nfc 控制器中的元素。

我需要模拟一张卡片(mifare 或 desfire 等)。我可以看到的选项是通过软件进行。我有一个 ACR122U 阅读器,并且我已经测试了 NFC P2P 模式在我拥有的 Nexus-S 上运行良好。

1)我看到一个网站说nexus s的NFC控制器(pn532)可以模拟mifare 4k卡。如果这是真的,我可以向这个模拟卡写入/读取 apdu 命令吗?(可能如果我使用像 cyanogenmod 这样的改装 rom)

2)我可以编写一个android应用程序来读取从阅读器发送的apdu命令并生成适当的响应(如果不完全,那么仅在某种程度上)。为此,我搜索了我们需要用 cynagenmod 修补 nexus 。有人试过通过这种方法模拟卡吗?

我认为这是可能的,因为我们有来自门禁控制公司的产品,它们提供移动应用程序,人们可以通过这些产品打开门,例如http://www.assaabloy.com/en/com/Products/seos-mobile-access/

0 投票
1 回答
3268 浏览

credit-card - APDU 命令中的持卡人姓名(ICC 卡)

我们正在从APDU命令中读取签证卡信息,这是我们发送的命令序列

此时,我们知道我们可以发送处理命令, 80A80000048302084000但是它会给我们一个错误,因此我们跳过了这个命令并发送了READ SFI 1记录。

有了这个,我们可以得到卡号和有效期,但是我们不能得到持卡人的名字。因此,如果有人知道发生了什么,请帮助我们。

0 投票
3 回答
3355 浏览

java - Java Card:如何将 SIM 小程序加载到真正的智能卡?

我在 Eclipse 中开发了一个 Java Card 小程序并获得了一个 cap 文件。然后我使用jcManager – Java Secure Card Manager将该文件加载到我的智能卡中。我有两种类型的智能卡:

  1. 联系方式,JCOP 2.1 36K
  2. 非接触式,JCOP 2.1

我的智能卡读卡器是:SDI011 Dual Interface Reader

另外为了开发 SIM 小程序,我正在使用Gemalto Developer Suite [3.6]。那个 IDE 有一个 GSM 模拟器,我的 SIM 小程序在它上面运行良好。它提供小程序的 cap、jar、jac、exp.. 文件。

到目前为止一切都很好,但我想将该 cap 文件加载到我的接触式或非接触式 Java 卡 [因为我没有 SIM 卡可以使用],然后发送-接收 APDU 消息。

可能吗?如果是,如何?如何将我的 SIM 小程序加载到真正的智能卡[不是 SIM 卡]?

0 投票
1 回答
399 浏览

c# - 智能卡非对称密钥生成

我在研究如何从 PIV 卡生成非对称密钥时陷入了死胡同。我查看了 NIST sp800-73-3 标准,但我无法做到这一点。该文档的第 3 部分概述了它显示他们使用 INS 47 来执行此操作,但我收到 6D00 错误。在获得此命令之前是否需要发送另一个命令?

另外,如果我错了,请纠正我,但根据我的理解,当生成密钥时,私钥会存储在卡上,而公钥会被返回。为了使用私钥加密数据,必须将数据发送到卡并返回加密信息。这是准确的吗?一张卡一次可以存放多少把钥匙?

0 投票
1 回答
1157 浏览

upload - java卡上传错误

我是 java 卡开发的新手。我有 jcop 31(36k)卡和 scl010 读卡器。我已经为 eclipse 安装了 jcop 插件。当我在模拟器中运行我的 helloworld java 小程序时(使用 jcop shell)它工作正常。现在我想将 .cap 文件上传到我的卡中。我认为方法是将 .cap 文件上传到卡中,在阅读器中运行小程序。(我不知道这是我附上我遵循的过程的最佳方式)。当我加载 cap 文件时,它给出了这个错误

谁能告诉我出了什么问题,给我一些参考是有帮助的!

0 投票
1 回答
3237 浏览

java - getATR() 不会在 javax.smartcardio 中重置智能卡

我正在使用javax.smartcardio包为带有 Java 的智能卡编写一个小型应用程序,但我对 ATR 有一些问题(重置答案)。该card.getATR()方法不会重置卡。它返回 ATR 字节,但不将卡返回到 MF 状态。

那是我的例子:

我的错误在哪里?或者我怎样才能重置卡?