基于java语言的智能卡系统
【摘要】1996年,各大智能卡生产厂商举行了一场被称为Java卡论坛(Java
Card Forum)的会议。会议的目的是去定义一个用于智能卡的Java子集,规定Java解释器的概要(称之为Java虚拟机,或JVM),并规定通用6年。在欧洲,出现了一篇关于开放终端结构OTA(Open
Terminal Architecture)的论文,该论文描述了用于终端的第四代解释器,并做出了主要的规定。其目的是建立用于中断的统一的软件结构以便奠定与硬件无关的终端编程基础。据此,一特定应用(诸如信用卡支付)只需要一次编程就能在不同厂商制造的所有终端杀过那运行而不必做任何修改。1997年,几乎所有的智能卡制造和开发商都在Sun公司参API和专用API(例如,用于GSM或金融交易卡)二者的区别。这些API形成了智能卡操作系统和Java之间的接口。本设计就是应用这些接口开发一个基于Java语言的智能卡系统。
【关键字】Java,Java
Card,Java
Card Applet,OCF(Open
Card Framework)
Smart Card System Based On Java
language
【Abstract】There is a thesis on OTA(Open Terminal
Architecture) which describe the interpreter of the fourth
generation which is going to use on terminal and make a prescript
appear in ………………………..
目录
绪
论 2
1 选题背景 3
1.1 智能卡的特性与优点. 3
1.2 智能卡的分类. 3
1.3 Java智能卡的特性及优点. 4
2
相关技术介绍 5
2.1
ISO7816协议. 5
2.1.1 智能卡触角引脚. 5
2.1.2 智能卡系统通信模型. 6
2.2 智能卡硬件系统. 7
2.2.1智能卡中央处理器. 7
2.2.2 智能卡的读写器与主机应用. 8
2.3 智能卡软件系统. 8
2.3.1 Open Card
Framework 8
2.3.2 Java Card API 9
3 方案论证 10
3.1 供选择方案. 10
4.3 数据字典. 13
5 总体设计说明 26
5.1 模块层次图. 26
5.2 模块功能实现. 27
5.2.1
Applet模块. 27
5.2.2智能卡终端模块. 28
5.2.3 智能卡服务端模块. 28
6 详细设计说明 30
6.1 智能卡Applet设计. 30
6.1.1 Applet
功能定义. 30
6.1.2 获取 Applet 的 AID 30
6.1.3 设计 Applet
程序的类结构. 30
6.1.4 制定 Applet
与终端之间的接口. 31
6.1.5 需导入的类. 35
6.1.6 须注意问题. 35
6.2 智能卡终端设计. 35
6.2.1 获取必须的信息. 35
6.2.2创建智能卡终端对象. 36
6.2.3 初始化/关闭Terminal对象. 36
6.2.4 提供终端类型信息. 36
6.2.5 检测智能卡的插入或者拔出. 37
6.2.6 返回智能卡信息(ATR). 37
6.2.7 与智能卡通信. 37
6.2.8 智能卡复位. 37
6.3 智能卡服务端设计. 37
7 调试分析 41
8 心
得 46
致谢 47
参考文献与附录 48