1

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

 **upload -b 250 "C:\Projects\Javacard\MytestThree\bin\hms\javacard\testthree\javacard\testthree.cap"
 => 80 E6 02 00 15 08 6D 79 61 70 70 6C 65 74 08 A0    ......myapplet..
    00 00 00 03 00 00 00 00 00 00 00                   ...........
 (26209 usec)
 <= 00 90 00                                           ...
Status: No Error
 => 80 E8 00 00 FA C4 82 01 65 01 00 29 DE CA FF ED    ........e..)....
    02 02 04 00 01 08 6D 79 61 70 70 6C 65 74 16 68    ......myapplet.h
    6D 73 2F 6A 61 76 61 63 61 72 64 2F 74 65 73 74    ms/javacard/test
    74 68 72 65 65 02 00 21 00 29 00 21 00 10 00 0B    three..!.).!....
    00 2E 00 0E 00 7F 00 18 00 12 00 00 00 71 02 F0    .............q..
    00 02 00 01 00 0B 01 01 00 04 00 0B 01 02 01 07    ................
    A0 00 00 00 62 01 01 03 00 10 01 0C 6D 79 61 70    ....b.......myap
    70 6C 65 74 2E 61 70 70 00 08 06 00 0E 00 00 00    plet.app........
    80 03 00 FF 00 07 01 00 00 00 1C 07 00 7F 00 01    ................
    10 18 8C 00 03 7A 05 30 8F 00 09 3D 8C 00 06 18    .....z.0...=....
    1D 04 41 18 1D 25 8B 00 02 7A 02 23 18 8B 00 01    ..A..%...z.#....
    60 03 7A 19 8B 00 05 2D 1A 03 25 11 00 FF 53 5B    `.z....-..%...S[
    32 1A 04 25 11 00 FF 53 5B 29 04 1F 10 80 6A 08    2..%...S[)....j.
    11 6E 00 8D 00 00 16 04 73 00 10 FF 80 FF 80 00    .n......s.......
    09 18 19 8C 00 07 70 08 11 6D 00 8D 00 00 7A 05    ......p..m....z.
    22 19 8B 00 05 2D 7B 00 0A 92 32 7B 00 0A 03 00    "....-{...2{....
 (779869 usec)
 <= 6A 80                                              j.
Status: Wrong data
jcshell: Error code: 6a80 (Wrong data)
jcshell: Wrong response APDU: 6A80
Unexpected error; aborting execution**

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

4

1 回答 1

1

尝试使用-b 230-b 250如果全局平台通道是完全普通的,则可以工作,但如果它在命令数据上包含一个 8 字节 MAC,那么您将获得总命令数据大小250 + 8 = 258,超过支持的最大 255 个字节。

请注意,6A80错误的数据可能意味着很多事情。例如,如果您针对错误的目标平台进行了编译/转换,您可以获得相同的消息。ISO 7816-4 状态词在这方面不是很有帮助。它们可能会显示一些语法错误,但通常语义错误也会硬塞到这些语法错误中。

于 2013-07-02T22:54:18.333 回答