JAVA card 应用开发 在项目增加APPLET

在上篇博文中,《JAVA card 应用开发创建第一个APPLET》,介绍了一个项目从无到有。

那么,我们建立了这个项目后,只有一个应用(一个可选AID),如果我希望这个项目可以有多个应用(有多个AID可选),就类似卡片初始化后,我可以选择PSE,可以选择PPSE,而且有多个AID存在,那么怎么在项目中添加AID呢?

1.      在已有的项目名称,右键,选择“New”,再选择”Java card Applet”,如下图1。

图1. 新建Applet

2.      此时会弹出对话框,填入class的名称。比如我希望建立QPBOC的应用,如下图2.

图2.新建CLASS

3.      点击Next后,弹出图3对话框。

图3.输入AID

4.      点击Finish,我们可以看到项目中已经增加了“QPBOC.java”,也有了相关的代码。如下图4.

图4.项目结构

5.      这个时候,需要在模拟器中增加我们这个QPBOC的应用,点击Debug的图标旁边的下拉框(一只绿色的小虫子),可以看到Debug Configurations的对话框,如下图5.

图5. 配置Debug Configuration

6.      在这个对话框中点击进入Package Upload这个标签页,双击已经建好的包“testpackage”,就会弹出可选的Applet,如下图6,选择QPBOC,点击Apply,点击Debug。

图6. 加入新的AID

7.      JCOP就会运行起来,看到我们新建的QPBCO应用,A00000000303,已经成为Application:SELECTABLE.如下图7.

图7. JCOP运行

8.      此时,可以发送/send 00A4040006A00000000303 感受一下。

说明:《JAVA card 应用开发》系列博文是我在学习Java卡过程中的记录,有不对的地方,请指出。

JAVA card 应用开发 在项目增加APPLET,布布扣,bubuko.com

时间: 2024-08-04 16:03:33

JAVA card 应用开发 在项目增加APPLET的相关文章

JAVA card 应用开发 创建第一个APPLET

本文讲述在Eclipse环境下,如何创建一个Java卡的项目,新建一个APPLET,运行在Java卡片上. 在建立项目前,必须安装好环境:先下载一个Eclipse,然后安装JCOP即可.(JCOP的下载,需要与NXP签订协议才能拿到安装文件,当然网上可能找到别的版本,这里不讨论).安装次序:安装好Eclipse,然后安装JCOP,然后导入JCOP的授权文件.也可以参考下面这篇文章: 环境搭建:http://blog.csdn.net/menghnhhuan/article/details/761

JAVA card 应用开发(二) 在项目添加APPLET

在上篇博文中.<JAVA card 应用开发创建第一个APPLET>.介绍了一个项目从无到有. 那么.我们建立了这个项目后,仅仅有一个应用(一个可选AID),假设我希望这个项目能够有多个应用(有多个AID可选).就类似卡片初始化后.我能够选择PSE.能够选择PPSE,并且有多个AID存在,那么怎么在项目中加入AID呢? 1.      在已有的项目名称,右键.选择"New",再选择"Java card Applet".例如以下图1. watermark/

JAVA card 应用开发 把APPLET(CAP文件)装载到卡片

根据前面两篇博文,我们可以在Eclipse上建立好Applet,并且可以有多个AID,可以选择不同的应用. 那么,以上我们都是基于模拟环境的逻辑,实际上有些函数接口是需要实际的环境,就是说我们需要把Applet下载到卡片里面,实际去调试. 下载Applet的工具,我使用JCOP,JCOP提供了很方便的下载工具,如下图1. 图1.JCOP下载Applet的工具栏 第一步:连接读卡器. 点击这个,下拉选择你的读卡器. 第二步:复位,选择,认证. 点击这个,下拉选择"Default".如果是

JAVA card 应用开发(六) 个人化数据的线路安全和数据安全

卡片个人化数据的线路安全和数据安全 说明:以下理论,基于GP2.2规范. 一.线路安全 1. 概念:线路安全,就是对于数据不保密,但要保证数据的完整性和防止被篡改. 2. 方法:在原有的数据基础上,加上8个字节的MAC. 3. 过程: a.在外部认证指令中,设定安全级别.如图1. 图1 b.计算8个字节的MAC附加在后面即可.计算MAC需要注意:完成了外部认证后,除了选择应用的指令以外,都需要加入MAC,否则安全条件不满足.计算MAC以8个字节的0X00为计算的初始向量,输入数据为8个历史字节(

JAVA card 应用开发 JCOP的调试方法

本文讲述如何在仿真环境下,调试JAVA card 的APPLET. 通过JCOP在Eclipse进行仿真调试,启动JCOP调试器,我们可以看到如下图: 要仿真调试,就是在命令输入框里面输入JCOP相关的指令,通过阅读JCOP的帮助文档,我们看到JCOP提供的命令不算繁多,大约40个. 下面我挑选常用的几个来说明: 1.      复位卡片:"/atr",如果不加任何参数,表示立即复位. 2.      发送指令:"/send",这是最直观的调试指令.可以逐个指令发送

JAVA card 应用开发(七) JAVA 卡数据(永久数据/临时数据)

JAVA 卡对象 JAVA CARD 的存储器件: a.      ROM: 永久保存程序和数据,虚拟机,API等:(Applets也可以放这里) b.      RAM: 栈数据,临时对象: c.      EEPROM: Applet的类,长生命周期的数据:(写操作比RAM慢1000倍) 因此,ROM是存放JCRE的基本程序和数据,而RAM用于保存当前会话需要的临时数据,EEPRO就用于保存跨会话的数据. 下面分别描述: 1.      ROM: 掩膜的时候,把这块的数据固定下来,伴随整个卡

JAVA card 应用开发(九)APDU脚本命令中MAC的校验

终端从后台接收到71或72脚本,解析出脚本指令,发给卡片. 卡片执行该脚本指令,首先要验证MAC,MAC验证通过,才真正执行脚本.因为脚本一般都是更新数据,锁定/解锁应用等敏感操作,所以必须有MAC进行保护. MAC数据计算的大致过程为: 发卡行有主密钥.在发卡的时候,发卡行把主密钥根据卡号分散,卡片得到分散密钥.交易过程中,发卡行接收到包含卡号的交易数据,通过主密钥,根据卡号得到分散密钥,根据ATC和分散密钥,得到过程密钥,使用过程密钥加密数据,得到MAC.而卡片本身已经存储有分散密钥,在交易

JAVA card 应用开发(五) JCOP的调试方法

本文讲述怎样在仿真环境下,调试JAVA card 的APPLET. 通过JCOP在Eclipse进行仿真调试,启动JCOP调试器.我们能够看到例如以下图: 要仿真调试,就是在命令输入框里面输入JCOP相关的指令,通过阅读JCOP的帮助文档,我们看到JCOP提供的命令不算繁多,大约40个. 以下我挑选经常使用的几个来说明: 1.      复位卡片:"/atr".假设不加不论什么參数,表示马上复位. 2.      发送指令:"/send",这是最直观的调试指令. 能

Java Card Applet开发:OO还是C-style?

近日又在重构PBOC 2.0的EDEP,按客户的需求改了几十个细节. 改动过程中对面向对象的理解有点加深. 例如为了避免两个class相互依赖,可以用一个Interface居中作为解耦. 由于卡内空间有限,资源紧缺,在设计时应注意避免继承层次过深. 个人感觉,由于资源有限,不大可能大量应用各种设计模式. JAVACARD API中比较显眼的设计模式只有两个:单例模式.Builder模式. 这两个模式的应用也是为了节约资源,以及为applet开发者屏蔽底层硬件细节. 上海有一家芯片公司,曾经试图研