在第一部分《JavaCard开发教程入门篇》中,我们介绍了:
如何使用智能卡保存敏感信息并且安全地处理事务,以及JavaCard技术的各个方面:JavaCard虚拟机、运行时环境、有关的应用程序编程接口和JavaCard小应用程序的行为。
在第二部分《JavaCard小应用程序开发教程》中,我们介绍了:
开发设计一个JavaCard小应用程序的步骤以及一个Java Card小应用程序的结构,Sun JavaCard Development工具箱和应用程序编程接口以及可用于你编写小应用程序的程序设计模型:Java Card应用编程接口和Java Card RMI应用程序编程接口。
在这一部分中我们将主要介绍:
介绍主应用程序的开发,以及一些可用的Java应用程序编程接口:OpenCard Framework、Java Card RMI Client编程接口和用于J2ME的Security and Trust Services编程接口( SATSA)。
阅读目录:
JavaCard应用程序的组成元素
JavaCard应用程序不是独立的,主要由四个部分组成......
OpenCard框架介绍
OpenCard联盟是一群推动OpenCard框架定义与采用的公司,目前OpenCard框架是1.2版本。OCF的目标是提供给主机端应用程序的开发者跨不同的卡片读取器供给商工作的应用编程接口......
JavaCard RMI客户端编程接口
为了智能卡治理和访问,JCRMI客户端应用编程接口需要一个卡片终端和诸如刚刚描述的OpenCard Framework这样的服务应用编程接口......
生成RMI客户端程序
在一部分作者解释了生成客户端程序的编译命令和使用限制......
用于J2ME的安全和信任服务编程接口
介绍SATSA的通讯应用编程接口......
指定SATSA连接类型
GCF连接都是使用Connector.open()方法创建,Connector.open()的一个参数是指明创建的连接类型的URL......
使用一个APDUConnection
讲述APDUConnection的定义方法,并用一个示例解释了它的使用方法......
使用一个JavaCardRMIConnection
以示例解释JavaCardRMIConnection的定义方法和使用方法......
本文章的留言内容:
JavaCard应用程序的组成元素
JavaCard应用程序不是独立的,而是一个端对端的应用程序的一部分:
Figure 1.JavaCard应用程序的典型组成
一个典型的JavaCard应用程序由以下部分组成:
1、提供访问例如保存在数据库中的安全或者电子付款信息的back-Office服务的后端应用程序。后端应用程序如何开发超出了本文的范围。
2、在卡外,驻留在一个卡片终端上,主应用程序使用许多用于卡片访问的接口之一来访问智能卡上的小应用程序,例如Java Card RMI、OpenCard Framework应用编程接口或者Security and Trust Services应用编程接口( SATSA)。
3、读卡器,卡片终端或者卡片接收设备,提供主应用程序和卡上小应用程序之间的物理接口。
4、卡上的是Java Card小应用程序和Java Card框架。注重,在访问小应用程序之前,主应用程序必须提供证书并且验证自己。
编写一个主应用程序-访问你的小应用程序
客户端上的主应用程序处理用户、JavaCard小应用程序和供给商的后端应用程序之间的通讯。主程序访问你的小应用程序提供的服务。它存在于终端或者卡片接收设备上,例如一个工作站、一个售货点( POS)终端、一个手提电话或者一个机顶盒。回想一下一个主机应用程序和小应用程序使用ISO - 7816 APDU命令经由读卡器或终端进行交互。
传统的读卡端应用程序使用C语言编写,但是主机程序可以使用Java程序语言或者其他语言编写,只要它能够与小应用程序交换有效的ISO - 7816 APDU命令。
现在部署的大部分的手提电话整合一个智能卡阅读器访问捆绑在它上面的SIM卡。使用即将到来的JSR 177、用于J2ME的安全和信任服务应用编程接口(SATSA)和J2ME设备的广泛采用,我们可以想象有许多主应用程序将使用移动设备上的Java技术编写。SATSA的意图是启动一个运行在基于J2ME的设备上的Java Card主应用程序。JSR 177目前处在JCP团体审查阶段。
当你编写客户端应用程序的时候,有三个主要的应用程序编程接口可用:OpenCard Framework、JavaCard RMI Client应用编程接口和安全与信任服务应用编程接口( SATSA)。我们将依次看看这些应用程序编程接口。