问题标签 [jcop]
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.
smartcard - 无法使用扩展长度 APDU 从卡中读取大数据
我正在尝试使用扩展长度 APDU 将长度为 0x2CF0 字节的数据写入卡上,它工作正常。但是我无法使用扩展长度的 apdu 从卡中读取相同数量的数据。
我收到以下错误“sun.security.smartcardio.PCSCException:未知错误 0x4d3”。
当我尝试加载大小为 0x1af0 字节的相对较小的数据时,我能够使用扩展长度的 apdu 从卡中成功写入和读取。
在扩展长度 apdu 中从卡中读取数据是否有任何限制?是否有不使用命令链接的解决方法?
PS:我使用的是 JCOP 2.4.2 R2 卡。
java - JavaCard ARQC 和 ICC MK 检索
我是巴西一家金融和安全初创公司的成员,需要一些帮助来维持我的项目。
是否可以使用任何类型的软件甚至硬件从卡中检索 ICC 主密钥?
我计算了 ARQC 和其他用于计算 ARQC 的变量,但没有会话密钥。有没有可能以某种方式找到它?
javacard - 在 JavaCard 3.x 上更改卡管理器 AID
我正在尝试使用STORE DATA
命令更改 JavaCard 3.x 智能卡上的卡管理器 AID。当前的卡管理器 AID 是出厂默认值A0 00 00 01 51 00 00 00
。与卡管理器进行身份验证后,我发送的命令是:
此命令在 JavaCard 2.2.x 卡上成功执行 - JC 3.x 是否已弃用此功能?
smartcard - 命令不支持
我需要一些关于我的问题的建议和建议:
目前我有运行 JCOP OS 的 java 卡。然后,我需要开发java卡小程序并加载到卡内。
但是,当我需要设置我的 CLA 以支持 CC/C8 命令时,我被卡住了。例如 CC50000000 ..我得到了返回 SW 0x6881。当我搜索这个错误时,我发现问题是由于逻辑通道造成的。
那么,我的问题是有什么方法可以让 JCOP 支持 CLA CC/C8 命令?
非常感谢您在这件事上的帮助。
谢谢
smartcard - JavaCard SELECT,Applet 未接收到下一次出现
我有一个应用程序,重置权限是重置后默认选择的应用程序。
我的应用程序有一个日志记录机制,可以准确地知道对卡发出的请求是什么。根据当前状态,我有几个动态响应。我还用卡片间谍检查了行为。
所有 APDU 都被正确转发到我的应用程序,包括那些不属于它并且与卡上的任何其他应用程序不匹配的 SELECT。
然而,当接收到 SELECT DF Next Occurrence (A4 04 02) 时,这不会发生。相反,卡返回以下 SW: 6A85 - 不满足条件。
现在..我了解卡可能在做什么,即检查当前是否选择了具有相同 AID 指定的应用程序,并会尝试选择具有相同 ID 的下一个应用程序。(事实并非如此。卡上没有冲突的 AID)。
我的问题是:如果没有安装匹配的应用程序,卡操作系统是否应该不转发此 APDU?这是选择已选择应用程序的假定行为。
另一个问题:有没有办法修复/规避这个问题,或者你认为这可能是一个操作系统错误?或者根本不是这种情况?
例子:
我正在使用 NXP JCOP3 卡。
提前致谢。
smartcard - APDU 命令可以在*内部* Java Card Applet 中执行吗?
我们知道 Applet.process() 方法在 APDU 请求和它的 APDU 响应之间调用,即它可以读取一些传入的 APDU 并发送一些传出作为响应。
但是,Applet 可以发送自己的 APDU 命令并得到响应吗?IE:
smartcard - Javacard版本可以升级吗?
我有恩智浦javacard。Javacard版本可以在解锁的智能卡上升级吗?怎么做,可以通过 GlobalPlatform 完成吗?
reverse-engineering - 将 Java Applet CAP 文件转换为 *.class 以进行反编译
这是一个 CAP 文件,可能包含恶意软件代码,没有源代码,也没有导出文件。
它是旧平台版本的 CAP 文件,即 GP211。
我在 Classic JVM 和 Dalvik 中有丰富的 Java 逆向工程经验。但是 Java Card 是不太流行和更接近的平台。大多数工具用于 CLASS/JAR 或 DEX,而不是 CAP。
我找到了几个可以反汇编CAP 文件的工具(包括一些模拟 JCOP 的 VM),但是 CAP 非常大,并且使用汇编代码对我来说太复杂和太慢了。
我们不能简单地做“CAP 文本字节码 -> Notepad++ -> 一些 Java 字节码编辑器 -> Java 字节码”。
CAP 字节码和 Java 字节码之间的差异太多。不仅仅是方法表,它也是大量不同的操作码。
只需反编译Java Card Kit 的converter.jar(它是一个转换CLASS -> CAP 的工具),就会发现转换是一个相当复杂的过程。
我需要一些自动转换器。
同时,我开发了一套智能卡解决方案,“CAP反编译器”将是其中的佼佼者。
是的,我要写它。
我计划从一侧构建它在 Javassist 之上,从第二个构建一些 CAP 反汇编库,从第三个构建一些标准 Java 反编译器(-s)。
但我应该确定没有类似物。
问题在这里:
地球上有没有可以将Java Card *.cap转换为Java *.class(或直接反编译*.cap)的工具?
我不是要图书馆(我找到了一些图书馆),我要的是工具。可运行。
(此外,如果您知道此字节码转换中的一些陷阱,如果您能向我描述它们,我将不胜感激。现在我认为它只是将一个操作码列表复制到另一个带有巨人if...else if...else if...else if...
或switch...case...case...case
树的操作码列表(以及一些杂项工作人员,即转换访问修饰符、字段等)。
applet - Java Card 在安装小程序时返回 6F00
我有一张 J3H081、SCP 02、T=1、GP 2.2.1、JC 3.0.4 java 卡,想在上面安装小程序。
不幸的是,我遇到了我尝试过的每个 *.cap 文件错误 6F00(命令中止 - 无法进行更准确的诊断(例如,操作系统错误))。
我从这里尝试了预编译的 *.cap:https ://github.com/LedgerHQ/ledger-u2f-javacard ,我自己使用 JavaCard v3.0.3 SDK 构建了它,来自 AppletPlayground 我尝试了 OpenPGPApplet 和 YkneoOath。安装时都会导致 6F00 错误。
我能够安装的唯一小程序是预编译的 AlgTest_v1.7.4_jc222。
卡信息:
卡片内容:
当我尝试安装 OATH 时:
安装后:
但我无法使用它:
为什么我无法安装除 AlgTest 之外的任何小程序?
android - 如何从 android 应用程序安装 .cap 小程序?
如何通过 android 应用程序从.cap文件将小程序安装到 SD 卡?我已经准备好.cap文件,我想在 android 应用程序中动态安装它。有可能吗?到目前为止,我发现的只是这个SO 答案,它说如果手机支持 NFC,这是可能的。