JavaCard开发教程之接口
2008-01-05 18:30:38 来源:WEB开发网核心提示:java Card应用编程接口规范定义了传统的Java程序设计语言应用编程接口的一个小的子集--甚至小于J2ME的CLDC,不支持字符串也不支持多线程,JavaCard开发教程之接口,没有象Boolean和Integer这样的包装类,也没有Class和System类,包括各种型式的私钥和公钥及其算法、用于计算循环码校验
java Card应用编程接口规范定义了传统的Java程序设计语言应用编程接口的一个小的子集--甚至小于J2ME的CLDC。不支持字符串也不支持多线程。没有象Boolean和Integer这样的包装类,也没有Class和System类。
除Java核心类的小子集以外,Java Card框架还定义了它自己的特定支持Java Card应用程序的核心类。这些包含在下面的程序包中:
· java.io定义了一个异常类,基本的IOException类,来完成RMI异常层次。除此之外,没有包含其他传统的java.io类。
· java.lang定义了Object和Throwable类,但是没有J2SE中那么多方法。它还定义了许多异常类:Exception基本类,各种运行时间异常和CardException。除此之外,没有包含其他传统的java.lang类。
· java.rmi定义了Remote接口和RemoteException类。 除此之外,没有包含其他传统的java.rmi类。 对远程方法调用(Remote Method Invocation,RMI)的支持被包含来简化的移植并整合到使用Java Card技术的设备中。
· javacard.framework定义了组成核心Java Card框架的接口,类和异常。 它定义了重要的概念,例如个人识别号(Personal Identification Number,PIN),应用程序协议数据单元(application PRotocol Data Unit,APDU),Java Card小应用程序Applet,Java Card System(JCSystem)和一个utility类。 它还定义了各种ISO7816常数和各种Java Card特定的异常。 表格5总结了这些程序包的内容:
Table 5. 表格Java Card v2.2 javacard.framework
接口 ISO7816定义与ISO 7816-3和ISO 7816-4相关的常数。 MultiSelectable识别可以支持并发选择的小应用程序。 个人识别号码(PIN)描述一个被用于安全(验证)目的的个人识别号。 Shareable识别一个共享对象。能通过小应用程序防火墙的对象必须实现这个接口。 类 AID定义了一个遵循ISO7816-5与应用程序提供者关联的Application标识符;一个小应用程序必备的属性。
APDU定义了一个遵循ISO7816-4的应用程序协议数据单元,是小应用程序(卡上)和主应用程序(卡外)之间使用的通信格式。 小应用程序定义了一个Java Card应用程序。所有的小应用程序必须扩展这个抽象类。 JCSystem提供了控制小应用程序生命周期、资源和事务治理,和小应用程序内部对象共享和对象删除的方法。 OwnerPIN是PIN接口的一个实现。 Util提供用于操作数组和各种short的方法,包括arrayCompare()、arrayCopy()、arrayCopyNonAtomic()、arrayFillNonAtomic()、getShort()、makeShort()、setShort()。 异常 定义了各种的Java Card虚拟机异常类:APDUException、CardException、CardRuntimeException、ISOException、PINException、SystemException、TransactionException、UserException。
javacard.framework.service定义了用于服务的接口、类和异常。 服务处理APDU格式的进入的命令。 表格6总结了框架服务应用编程接口:
表格6. javacard.framework.service
接口 Service,基本的服务接口,定义了processCommand()、processDataIn()和processDataOut()方法。 RemoteService是一个普通Service,提供到卡上的服务的远程处理。 SecurityService扩展了Service基本接口,并且提供了查询当前安全状况的方法,包括isAuthenticated ()、isChannelSecure ()和isCommandSecure ()。 类 BasicService是一个服务的默认实现;它提供帮助方法来处理APDU和服务协作。 Dispatcher维护一个服务的注册。假如你想委托一个APDU的处理到几个服务上,你可以使用一个dispatcher。 一个dispatcher可以使用process ()方法完整的处理一个APDU,或者使用dispatch ()方法把它发送到几个服务上让其处理。 异常 ServiceException一个服务相关的异常
javacard.security定义了用于Java Card安全框架的类和接口。 Java Card规范定义了一个强健的安全应用编程接口,包括各种型式的私钥和公钥及其算法、用于计算循环码校验(CRCs)的方法、消息摘要和签名:
表格7. javacard.security
接口 普通的基本接口Key,PrivateKey、PublicKey和SecretKey,以及描述各种类型安全密钥和算法的子接口:AESKey、DESKey、DSAKey、DSAPrivateKey、DSAPublicKey、ECKey、ECPrivateKey、ECPublicKey、RSAPrivateCrtKey、RSAPrivateKey、RSAPublicKey 类 Checksum:用于循环冗余码校验算法抽象基本类 KeyAgreement:用于秘钥约定算法的基本类 KeyBuilder:秘钥-对象工厂 KeyPair:一个保存一对秘钥的容器,一个私钥一个公钥
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
- ››开发者在App Store上赚的钱比在Android Market上多...
- ››开发者应深入学习的10个Android开源应用项目
- ››开发移动 Web Ajax 应用
- ››开发者眼中的iPhone与Android
- ››教程:使用千千静听巧妙管理音乐文件
更多精彩
赞助商链接