javacard-使用JDKit 3.0.5u1 生成的cap包 在下载到卡片过程出现错误 6438

问题描述

使用JDKit 3.0.5u1 生成的cap包 在下载到卡片过程出现错误 6438

如题, 在使用官方给的 eclipse 插件 生成cap包后, 将cap包下载到 卡片过程 出现错误,
包的结构和之前用jcop工具生成的包不同
下载过程使用自己编写的工具, 将cap包中Header.cap 等字段分别提取 并发送给卡片
具体位置是 Header.cap 和 Directory.cap 发送成功后, 发送 Import.cap 时
返回 状态码 6438
命令流如下:

APDUSend:
80E602000A05010203040600000000
APDU Recv:
SW: 6101

APDUSend:
00C0000001
APDU Recv:
00
SW: 9000

APDUSend:
80E8000018C416010013DECAFFED020204000105010203040603706179
APDU Recv:
SW: 9000

APDUSend:
80E800012402002100130021000A001500220018005A0018000D0000007203AF000400020008020100
APDU Recv:
SW: 9000

APDUSend:
80E800021804001502060107A0000000620101000107A0000000620001
APDU Recv:
SW: 6438

望高手 指点迷津

解决方案

问题已解决.

现将问题原因和解决过程与大家分享

问题原因: 版本号不支持.
    此处版本号包括
    1. java card版本号  这里的java card 版本号 与 JCK(java card kit)版本号对应,
        同时 JCK版本与JDK版本也项对应 (对应关系 查看JCK用户手册)
            如果不对应在converter时会报错 class 版本 xxx 不支持
    2.卡内API版本号与 API库版本号 比如GP
    以上两处 版本号不对应均会在 cap包下载到卡片的时候 报错

解决过程:

1.查看卡片版本号(以下操作均在JCOP Shell下)
    cm>  get-data 0066
    => 80 CA 00 66 00                                     ...f.
    (119608 usec)
    <= 66 4C 73 4A 06 07 2A 86 48 86 FC 6B 01 60 0C 06    fLsJ..*.H..k.`..
    0A 2A 86 48 86 FC 6B 02 02 01 01 63 09 06 07 2A    .*.H..k....c...*
    86 48 86 FC 6B 03 64 0B 06 09 2A 86 48 86 FC 6B    .H..k.d...*.H..k
    04 02 15 65 0B 06 09 2B 85 10 86 48 64 02 01 03    ...e...+...Hd...
    66 0C 06 0A 2B 06 01 04 01 2A 02 6E 01 02 90 00    f...+....*.n....
    Status: No Error
    Global Platform version                : 2.1.1
    Global Platform Secure Channel Protocol: 02 option 15
    Java Card version                      : 2.2
    **此时 Java Card 版本为2.2 / GP 为 2.1.1**
2.查看自己的 jdk&&jck 或者 jcdk
  现在官方能够下载到的 jck 包括以下几个版本
    Java Card Classic Development Kit 3.0.5
    Java Card Classic Development Kit 3.0.4
    Java Card Classic Development Kit 3.0.3
    Java Card Classic Development Kit 3.0.2
    Java Card Development Kit 2.2.2 (See also Java Card 2.2.2 RMI Client API White Paper)
    Java Card 2.2.1 Development Kit (See also Java Card 2.2.1 RMI Client API White Paper)
    Java Card 2.2 Development Kit (See also Java Card 2.2.2 RMI Client API White Paper)
    Java Card 2.1.2 Development Kit
    Java Card 2.1.1 Development Kit
    Java Card 2.1 Development Kit
    其中 最新3.05是自带eclipse 插件的 可以自动生成cap包 此版本的对应的 jdk 是1.7
    如果使用此版本所带的插件进行开发其他版本java card 需要进行如下操作
        1.下载 java card 对应版本的 jck 和jdk
            2.新建目录A(比如jcdk221)
            3.将jck中的 bin+lib+api_export_file 复制到 A
            4.将jdk中的 libtools.jar 复制到 Alib
            5.eclipse->window->prefernces->java card platforms: new->java card SDK path->
              ID: JavaCard;
                Java Card SDK path: A 的路径;
                OK.
            6.java card platforms->java card devices: new -> OK;
            7.选择当前项目 project->java card runtime -> JavaCard (刚才设置的平台ID); OK!
        此时 转换出来的 cap 包就是可以下载到卡片的 cap包了
时间: 2024-11-01 13:32:40

javacard-使用JDKit 3.0.5u1 生成的cap包 在下载到卡片过程出现错误 6438的相关文章

zxing 二维码-zxing 3.0.1生成二维码

问题描述 zxing 3.0.1生成二维码 zxing 3.0.1生成二维码,这么写怎么就是不对,MatrixToImageWriter类找不到,应该怎么写? String contents = ""今天,我们来简单聊聊google开源项目--ZXing(二维条码编解码)""; Hashtable<EncodeHintType String> hints = new Hashtable<EncodeHintType String>(); hi

Thinkphp5.0自动生成模块及目录的方法详解

本文实例讲述了Thinkphp5.0自动生成模块及目录的方法.分享给大家供大家参考,具体如下: Thinkphp5.0发布已有些时日了,据说性能方面有很大的提升,按照官方的话,ThinkPHP5.0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,并针对API开发做了大量的优化.是时候得download一份,研究一下.今天主要讲讲其自动创建模块及目录. Thinkphp5.0自动生成模块较ThinkPHP3.2,确实有很大的变化

Yii2.0实现生成二维码功能实例

本文实例讲述了Yii2.0实现生成二维码功能.分享给大家供大家参考,具体如下: 通过composer安装: 1.下面的方法是通过composer加载 php composer.phar require "2amigos/yii2-qrcode-helper" "*" 或者添加 "2amigos/yii2-qrcode-helper" : "*" 到对应项目的composer.json文件中 通过归档文件安装: 不习惯用comp

itext生成pdf jar包和项目jar包冲突问题?

问题描述 itext生成pdf jar包和项目jar包冲突问题? 页面动态导出pdf,用了itext2.0.8.jar core-renderer.jar iTextAsian.jar 包 但是项目以前用的包是itext2.1.4.jar 项目经理不许jar包版本降级,我应该怎么处理这种情况 求教各位大神 解决方案 jar包冲突jar包的冲突项目中jsp-api.jar 包与tomcat冲突问题

web-mono3.8.0+jexus5.6.3+xsp3.8发布网站出现runtime error的错误

问题描述 mono3.8.0+jexus5.6.3+xsp3.8发布网站出现runtime error的错误 确认web代码没有问题只是简单的显示mono四个字母,在mono2.10里可以正常显示 解决方案 解决方案二: jexus-5.6.3

link环境下制作一个网盘软件,如何生成别的网盘的下载链接?

问题描述 link环境下制作一个网盘软件,如何生成别的网盘的下载链接? link环境下制作一个网盘软件,如何生成别的网盘的下载链接? 解决方案 先要上传文件,然后才有链接.光生成链接有什么用.

用集群脚本功能让2.0.0及之前版本的包月集群presto支持读取oss数据

参照 集群脚本功能介绍,本文介绍如何用集群脚本功能让2.0.0及之前版本的包月集群presto支持读取oss数据. 准备脚本 下载 脚本,放在您的oss合适的目录里. 运行脚本 集群列表页面点击对应集群的查看详情按钮 左侧菜单单击集群脚本,进入该集群的集群脚本执行界面 单击右上角创建并执行,进入创建界面. 选择刚才的脚本,设置名字,执行的节点默认,点击执行,完成添加并执行操作. 集群脚本列表可以看到新创建的集群脚本,点击刷新可以更新集群脚本的状态. 等待集群脚本完成 验证 hive建表 下文举了

VC++6.0编译setup程序中出现的在commctrl.h中的错误

问题描述 VC++6.0编译setup程序中出现的在commctrl.h中的错误 c:program files (x86)microsoft visual studiovc98includecommctrl.h(26) : error C2146: syntax error : missing ';' before identifier 'HRESULT'c:program files (x86)microsoft visual studiovc98includecommctrl.h(26)

下拉框 树形结构选择-EXT 2.0版本实现下拉框树形结构选择实现过程和方法

问题描述 EXT 2.0版本实现下拉框树形结构选择实现过程和方法 最近在用EXT 2.0开发一个项目,涉及到一下下拉框选择管理机构的问题,点击下拉框要求是树形选择机构,单选.多选都行.烦请各位大侠指点迷津,一定要详细点啊,我在网上看了挺多, 但也不是很好用. 我只需要从我的框架结果采用Struts2.0+Spring+Ibatis,我只需要从action中返回数据到 页面js这两个地方的解决办法.谢谢 解决方案 //下拉框 var permissCombox=Ext.create('Ext.fo