问题标签 [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.

0 投票
1 回答
428 浏览

javacard - 被操纵的 CAP 文件是否会在安装过程中破坏 Java Card?

我有一张可以正常工作的 Java 卡:

我编写了一个简单的程序来在接收到每个命令时返回 APDU 缓冲区:

将上述程序转换为.cap文件后,我用WinRAR打开 cap 文件并更改.CAP文件的一个字节,如下所示:

(我替换0x78而不是在class.cap0x07的第九次再见)。

点击放大 :

在此处输入图像描述

现在我尝试安装这个新的 cap 文件。但不仅安装失败,而且我无法再列出我卡的内容:

我的问题:

这个新生成的 CAP 文件在我的智能卡上发生了什么?有没有人知道原始文件和操作文件中的字节码和这个字节的含义?这是对安装操纵文件的良好逻辑响应吗?

注1:

我也尝试在我的 JCOP 卡上安装这个新的cap文件。安装再次失败,但卡静音约 15 分钟,而不是上述错误。(必须在读卡器中大约 15 分钟才能再次激活!)

笔记2:

我试图更改此文件的第 10 个字节而不是第 9 个字节。所以我换成0x010x45. 之后我成功安装了新的 CAP 文件!卡不应该在字节码验证后检测到这种操作并阻止安装吗?

0 投票
1 回答
714 浏览

smartcard - JCOP 卡中的安全盒

JCOP V2.4.2 修订版 3 安全目标:

11-12页

安全盒概念在 JCOP 2.4.2 R3 中实现。Secure Box 是一种允许运行未经认证的第三方本地代码并确保该代码不会损害、影响或操纵 JCOP 2.4.2 R3 操作系统或操作系统执行的任何小程序的结构。硬件 MMU 确保安全盒中的其他代码和/或驻留在硬件上的数据的本机代码已在硬件评估中获得认证

我有一些描述的卡,我也想有使用安全盒的经验!在Java Card v3.0.1 SpecificationsGlobal Platform v2.2.1 card specification和JCOP v2.4.2 r3 Administrator Manual中搜索没有帮助。上述文件中几乎没有关于 Secure Box 的内容。

所以 :

有人知道如何在 JCOP 卡中使用安全盒吗?我们可以在 Secure Box 中上传什么样的程序/代码?这些程序是用 Java Card 语言编写的并且也是 CAP 文件的形式吗?或者那些是用 C++ 或汇编编写的?

如何上传并安装在卡上?而这个安全盒有什么优势呢?

0 投票
1 回答
540 浏览

javacard - 这张卡到底有多少内存?(EEPROM 和 ObjectDeletion 游戏!)

我编写了一个简单的程序来检查requestObjectDeletion()方法功能和我的卡的可用内存。

我的小程序响应以下五种不同类型的 APDU 命令:

  1. 选择 APDU 命令:响应:0X9000
  2. 命令:XX 00 XX XX XX [...]响应:以字节为单位返回可用内存。
  3. 命令:XX 01 XX XX XX [...]响应:创建一个包含 2000 个元素(即 2000 字节)的本地字节数组。
  4. 命令:XX 02 XX XX XX [...]响应:请求对象删除方法
  5. 其他命令: 响应:0x9000

为了返回可用内存,我编写了一个方法,该方法使用无限while循环创建大量带有100元素的字节数组并counter同时增加 a。捕获Not enough memory异常时,方法返回counter *100(即调用此方法之前的空闲内存)

好的,这是程序:

现在,有一个问题。这是当我向卡发送一些 APDU 命令时OpenSC-Tool的输出:

命令0返回0xE358(=58200)。所以调用这个方法之前的内存是58200字节。

命令1返回0x0000,这意味着现在可用内存小于100字节。

命令2返回0x9000,所以 requestObjectDeletion 调用成功。

命令再次3返回0xE358,这意味着requestObjectDeletion运行成功。

命令4返回0x9000,所以 requestObjectDeletion 调用成功。

命令5返回,因此现在创建了0x9000一个带有元素的字节数组。2000

现在我希望卡的可用内存等于0xE358 - 2000 = 0xDB88

但在下一个命令中:

命令6返回0xDD18!即我们0xDD18 + 2000 = 0xE4E8的卡中有字节存储空间!

这可能是谁?0xE4E8 - 0xE358为什么卡在第一个命令中看不到这 400 个字节 ( )?

0 投票
1 回答
738 浏览

java - 使 java 卡应用程序类似于 RB 5.0 的资源

我正在制作java应用程序,其主要功能是在java卡36k上写入数据,所以我需要资源,关于java卡的教程,诸如此类的东西。?我没有制作java卡应用程序的经验,所以请给我任何有用的资源..

我正在制作像 RB 5.0 这样的应用程序,如果你能给我这个应用程序的 src 代码会更好:)

0 投票
1 回答
782 浏览

java - Javacard - 签名和验证

我正在尝试在卡上签署一条消息并在卡外验证它。

结果总是错误的。

我可能会错误地获取模数和指数。有任何想法吗?

Java小程序代码:

…………

Java主机代码:

创建公钥的代码:

验证消息的代码:

更新:Java小程序签名方法

0 投票
3 回答
905 浏览

smartcard - JCOP 2.4.2 Java Card 上的 ECDSA 算法

我想在 Java Card (JCOP 2.4.2) 上实现 ECDSA 算法。这是我的源代码:

我正在使用此脚本脚本代码运行此源代码:

当我要求/send 0046000000签署纯文本消息时,我会收到响应代码6F00

你能帮我看看这有什么问题吗?

如何在 JCOP 卡上正确实现此算法?

0 投票
4 回答
1007 浏览

smartcard - pro.javacard.gp.GPException:严格警告:检测到未融合的 JCOP

尝试使用以下命令列出智能卡的内容时

得到以下异常:

搜索时,我知道那张卡不是预先个性化的。我的问题是什么是智能卡预个性化?谁来做这种预预音化?是供应商吗?

0 投票
1 回答
865 浏览

javacard - 读取 JavaCard Classic 上的 TLV 编码数据

我想阅读 Java 卡上的 TLV 编码证书(NXP JCOP J3D081、JCOP 版本 2.4.2、Java 卡版本 3.0.1 Classic)。

成功创建了 cap 文件,但是当我尝试在卡上安装它时,出现 gpshell 错误:

load() 返回 0x80206A80(6A80:错误数据/命令数据中的值不正确。)

我使用 JCDK 3.0.3 中的罐子,这通常适用于椭圆曲线等。TLV 的东西有什么不同?

使用的小程序代码(不使用 BERTLV 东西时安装良好):

我使用以下 ant build.xml 创建了 cap 文件:

使用的 build.properties:

所以怀疑上限是用 api_connected.jar 编译的,但是从工具包中删除文件并没有改变任何东西。

任何帮助,将不胜感激。在此先感谢,托马斯

0 投票
1 回答
289 浏览

smartcard - 生成ECC密钥对时获取CryptoException.ILLEGAL_VALUE

我使用 JCOP 卡生成ECC密钥对。我可以创建ECPrivateKey, ECPublicKey, KeyPairw/o 任何问题,但它会 CryptoException.ILLEGAL_VALUEgenKeyPair(). 我的卡或我的操作出了什么问题?我不知道。你能告诉我我在哪里犯了错误吗?非常感激!

顺便说一句,我发现 JCALgTest 也遇到了同样的问题,请在这里查看测试报告。

这是我的代码。

0 投票
3 回答
1998 浏览

smartcard - 发送 Select + Transport Key 后的 JCOP 0x6A82

您好,我有一张未融合的 JCOP 卡

从我的供应商那里,我得到了 TK 和打开卡片的命令

当我发送到卡时 [00:a4:04:00:10:40:41:42:43:44:45:46:47:48:49:4a:4b:4c:4d:4e:4f]

我有[6a:82] (File not found)

如何个性化?