问题标签 [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.
command - APDU 命令检查芯片在 PIV 应用程序和验证中的尝试次数
我正在使用智能卡芯片并使用它的 PIV 应用程序, {00 A4 P1 P2 Le Data Lc}
所有的验证词都很好{00 20 P1 P2 Le Data Lc}
,而且{00 21 P1 P2 Le Data Lc}
.
但是你知道 piv 应用程序有一个失败尝试的计数器;在这种情况下,在锁定之前00 20
有一个3
并且00 21
有尽可能多的失败尝试。15
我想知道是否有任何可用的 APDU 命令实际读取尝试次数,而不增加它。
smartcard - APDU 命令读取卡号
我想知道是否可以从智能卡中获取借记卡/信用卡号,我正在尝试使用具有通信协议 PC/SC、CCID 和卡接口 ISO/IEC 7816-1/ 的智能卡读卡器来获取它2/3 智能卡,MicroSD 接口 ISO 7816-4 智能卡。
到目前为止,我只知道插入的卡类型(Visa、Mastercard、Maestro 等)
谢谢!
apdu - 生成 ARQC 时 EMV 长度错误 - CDOL1
我正在使用 VISA 信用卡、借记卡和 MC 信用卡成功生成 ARQC,但是当我尝试使用 MC Debit 生成一个时,我得到“6700”命令,这意味着“长度错误”,这是我的 CDOL 和我的命令:
所有数据对象长度的 CDOL1 总和预计为 35 个字节(十六进制 23)
CDOL1 9f02069f03069f1a0295055f2a029a039c019f37049f35019f45029f3403
命令 80AE80002300000000000000000000000004848000008000048413021300550320312100001e0300
有人知道我做错了什么吗?
java - 无法选择 ISO-7816-4 智能卡上的文件
我正在尝试使用 javax.smartcardio 从 ISO-7816-4 eVCR(电子车辆登记卡)读取数据。每当我尝试从卡中选择文件时,我都会得到 SW 代码 6A86,它转换为“不正确的 P1 或 P2 参数”。我尝试了 P1 和 P2 的许多值组合并得到了相同的结果。卡本身可以与其他程序一起正常工作,示例代码可以与其他卡一起正常工作。我有问题的卡与 此问题中的卡相同。
这是我使用的代码: Card card = terminal.connect("*"); System.out.println("ATR: " + Utils.bytes2HexString(card.getATR().getBytes()));
输出是:
我看不出我做错了什么。某些卡是否需要额外的初始化步骤或选择的一些额外参数?
c++ - 获取APDU请求错误c ++
所以.. 我有 pcsc 阅读器、智能卡和 C++ 代码。寻找读者,选择他们,联系并获得 ATR - 工作得很好。
但是在 ATR-get 之后我需要获取 APDU 请求,这段代码
总是返回“错误”......如果你能帮助我或指出我的错误,我将非常感激。
谢谢
javacard - 向 javacard 发送 APDU 命令时出现“6985 不满足使用条件”
我正在向 javacard 发送以下命令,但出现此错误
环境:通过 nfc 在 Galaxy s3 上运行的 android 应用程序
6985 不满足使用条件
如果您让我知道导致此错误的原因会很好。
提前致谢,
android - 对 Android 应用程序使用 Nfca 的 TagLostException
我目前正在为 NFC 智能手机开发一个 Android 应用程序(在 JAVA 中)。我正在尝试与 Nfca 标签通信,但TagLostException
无论我通过transceive(byte[])
. 标签与设备连接良好。
这是重要的一段代码:
我正在尝试使用以下命令:{00 CA 42 08 00}
或者{00 A4 00 00 02 3F00}
但具有相同的结果。
当我在我的 PC 上使用智能卡读卡器和软件时,这些命令正在工作。智能卡非空。
android - 在 Android 中开发智能卡读卡器
我们开发了一个带有微控制器的原型板,它可以与智能卡通信(它可以读取 ATR、发出和读取对 APDU 命令的响应等)。现在我想将此硬件与 Android 手机或平板电脑一起使用。我们的开发板有一个 USB 连接,通过它我们可以通过 Android 读取和写入 MCU。
最终目标是在支持 PKCS #11 的 Android 平台上拥有一个功能正常的智能卡读卡器,并为智能卡读卡器的最终用户提供一个库,以便他们可以与他们的卡进行通信。
我已经阅读了几个关于这个主题的讨论,其中一些说我必须构建一个定制的 Android 来做到这一点。我对 Android 架构不是很熟悉,无法理解为什么当我可以通过 USB 与外围设备(读卡器)通信时,我必须重新构建 Android。在我看来,如果我提供了一个实现类似 CCID 接口的库,那么用户可以通过将我的库集成到他们的目标 .apk 文件来使用 Android USB 堆栈与我的阅读器进行通信。
上述计划是否存在我们不知道的问题?我担心我们缺少一些关于 Android 或智能卡读卡器的基本知识(例如:安全性),这会在我们开始实现上述库时给我们带来问题。
.net - 如何使用 APDU 将 PIN 验证码发送到智能卡 - 使用 .NET
我可以连接到卡,现在我需要验证 PIN,但我不知道应该使用哪个代码来执行验证
这是一张使用 7 位 PIN 码的智能卡。它始终是 7 位数字。
这里我有基本的CLA
, INS
, P1
, P2
,LC
字节。我应该为 7 位数字的 PIN 设置 + 3 字节还是 6 字节并且应该是实际的 PIN 或只是一个 0xFF 值
在规范中,我找到了最小和最大 8 位以及最小 4 和最大 12 字节的示例......
java - 在 Java Card 2.2.1 平台中存储日期和时间
我正在开发一个智能卡应用程序,我必须存储Date
信息。简而言之,我想存储最后 (10) 个应该包含Date
和Time
在智能卡中的交易。
平台用于:
- Java 卡 2.2.1
- 全球平台 2.1.1
我找到了Class Date,但它需要 Java Card 3.0。
Date/Time
是否可以使用 Java Card 2.2.1将交易信息存储在智能卡中?