问题标签 [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.
c++ - 如何在 C++ 中使用单个 APDU 发送和获取数据?
我正在使用 winscard 编写 C++ 代码。我注意到,如果我使用 Scardtransmit 发送仅发送数据或仅接收数据的命令,则没有问题。我可以发送数据或得到正确的响应。但是,当命令既发送数据又期望响应时,我总是得到 61xx。我知道错误代码 61xx 意味着有一个 xx 字节的响应,其中 Le 不正确,并检查了所有可能的 Le,包括返回值 xx,但没有任何变化。例如,让 Apdu 的形式为 CLA INS P1 P2 Lc Data Le,我得到 61XX,然后我发送 CLA INS P1 P2 Lc Data XX,我再次得到 61XX。
我使用java和其他工具检查了卡,并验证卡没有任何东西。
据我了解,为 Lc 和 Le 分配了一个字节 P3。有没有办法从 DATADATA 命令获得响应(除了 SW1SW2)?
android - java卡Applet RSA加密问题与Android
我是java卡开发的新手。我使用 nxp jcop 31-36 java card 和 nexus 来测试应用程序。我想使用 RSA1024 加密来自 android 应用程序的数据并发送回 android 应用程序。
RSA1024 和 RSA2048 算法不能与 nexus 的应用程序一起使用。我无法从卡中接收任何加密数据。当我使用 eclipse jcop shell 工具测试应用程序时,它可以正常工作。
当我在 nexus 中运行应用程序时,它崩溃了。当我将java卡点击到android手机时,它会发出一些奇怪的声音。可能是 java 卡应用程序崩溃或奇怪的声音可能来自 android OS 级别。
我用三星 S2 测试了应用程序。有时它可以工作,但有时它会崩溃。在 S2 中,加密工作正常(但我们必须保留 wile card 2 或 3 分钟)。
这些是我在安卓手机上建立连接的步骤:
- 创建了 ISO dep 连接
- 选择了应用程序(00A40400AID)
- 使用传递方法我将数据发送到 java 卡
在 Java 卡中安装:我已经创建了 RSA 密钥对并获得了 RSA 公钥和私钥。在某些方法中,我得到了 APDU 缓冲区并读取数据并加密此数据。然后将这些发送回卡。
Android Os 或 JCOP 31/36 卡有问题吗?
每次我请求java卡时,我都需要重置java卡。如何重置 Java 卡?
nfc - 禁用 ACR122U 上的默认红色 LED
我想发送一个 APDU,这样 ACS ACR122U 读卡器(没有卡)上的默认 LED 状态将是没有 LED 亮起。
文档将表明这样的命令将是FF 00 40 0c 04 00 00 00 00
,将Final LED State
红色和绿色的 保留为 0(关闭)。但是,这只是将灯闪烁然后关闭。
这似乎是因为 APDU 进入卡而不是读卡器。但是,也有控制设备参数的伪 APDU。基本上,我知道它没有记录,但有谁知道这样的参数是否仍然存在?或者一些解决方法?
谢谢,高西。
reset - 如何使用 APDU 命令重置 java 卡
我是 Java 卡开发的新手。到目前为止,我已经开发了可以使用 RSA 算法加密数据的 Java 卡小程序。所以基本上我遵循应用程序选择并发送数据。但现在我想在选择 java 卡之前重置 java 卡。谁能给我一些简单的想法如何做到这一点?谢谢 Sajith。
android - 从android设备发送数据到java卡错误
我是 Android NFC 开发的新手。我创建了使用 ISOdep 将数据发送到 java 卡的 android 应用程序。在我的 java 卡小程序中,我从 APDU 命令获取数据并使用 RSA2048 加密数据并发送回 Android 应用程序。所以我正在使用 NEXUS S 和 Jcop 81 卡进行测试。我的问题是当我在处理加密时移除 java 卡时,Android 设备(nexus s)会发出有线声音。之后我尝试再次点击,然后它总是会发出这种有线声音。然后我使用 JCOP 工具重置 java 卡并再次点击。现在它工作正常。在这里如何使用 APDU 命令重置 java 卡 在我们选择小程序之前,我问过如何重置 java 卡。但是 android 或 java 卡 API 不支持 RESET。我该如何解决这个问题。有没有像 javax.smartcardio 中的 begin transaction 和 endtransaction 之类的方法或者是还有其他方法可以执行此过程吗?我想知道的其他事情是所有Android设备都存在此问题吗?萨吉特
transactions - 交易中掉电RESET java卡小程序
我是新的 Java 卡开发人员,我想知道在交易过程中断电时如何处理交易。我想知道当电源丢失或从卡终端移除java卡时有没有办法在内部重置。在我的 Java 卡小程序中,我没有成功地尝试过:
JCSystem.beginTransaction();
JCSystem.commitTransaction();
Util.arrayCopyNonAtomic();
还有其他方法吗?
谢谢萨吉特
android - 通过 IsoDep 标记中的文件标识符引用
我正在尝试将数据写入 IsoDep 标签。IsoDEP 标记的内存按结构层次组织:
- DF(专用文件)
- EF(基本文件)
在将内容写入标签之前,我使用SELECT
命令(在 APDU 命令集中)。我想通过 选择一个文件file identifier
,但我不知道标签中的任何文件标识符。
如何获取标签中存在的所有文件标识符?
nfc - 全球平台CRS申请激活卡问题
我正在尝试使用 GP 的 CRS 小程序激活卡
通过的完整命令 APDU 为 80F001010A4F08XXXXXXXXXXXXXXXX00(当按字节分组 CLA::80 INS::F0 P1::01 P2::01 Lc::0A TAG::4F L::08 V::AID::XX XX XX XX XX XX XX XX 11 勒::00)
XX XX XX XX XX XX XX XX 是 AID 占位符。
CRS 存在,我也可以获得全球计数器。
但是当我尝试上面的命令激活时,我得到了6D 00(解释为“无效指令”),但据我所知,命令 APDU 的格式符合 GP 规范。
nfc - 使用 INTERNAL 模式时的 PPSE 和 CRS 关系
当使用PPSE(Proximity Payment System Environment)的Internal模式时,我发现CRS(Contactless Registry Service)在应用程序选择过程中开始发挥作用。但是找不到关于彼此逻辑依赖的确切细节。
当PPSE设置为内部模式时,任何人都可以在应用程序选择过程中解释PPSE和CRS的逻辑关系吗?
nfc - SIMPLE-TLV 与 BER-TLV
我在文档中发现他们指的是SIMPLE-TLV和BER-TLV。我查看了大多数 EMV 和 GP 文档,但他们没有提到不同之处。
谁能帮我理解两者的区别?