SIMalliance OMAPI transport test plan介绍之二接口规范篇
上一篇 /
下一篇 2012-12-24 00:05:54
/ 个人分类:自动化测试
Sim Alliance组织提供了一个标准接口规范Open Mobile API specification,使手机上层应用可以访问手机端不同的Secure Elements。
Open Mobile API架构图如下:
The Application Layer 指各种访问Secure Elements的手机上层应用。
The Service Layer 是基于The Transport Layer,提供了更加抽象的接口。手机上层应用通过The Service Layer访问Secure Elements更加方便。
The Transport Layer 是Open Mobile API的基础,它提供了访问Secure Elements的标准接口。如下图所示:
The Transport Layer总共包含四个类:SEService 类;Reader类;Session类;Channel类。
SEService 类负责与SE框架系统建立连接,可以获取系统中所有的SE readers; Reader类负责与选定的reader建立连接;Session类负责建立与SE reader对应的会话;Channel类负责建立通道并下发APDU命令。如下图所示:
Transport API如何使用:
1. 客户端应用获取the Secure Element service(s)。
2. 客户端应用列举可用的readers。
3. 客户端应用根据指定的reader打开一个session。
4. 客户端应用根据Applet的AID打开一个channel。
5. 客户端应用通过channel传递APDU命令。
6. 客户端应用关闭channel或者session,断开连接。
Transport API中四个类中的方法:
SEService 类中包含四个公共的方法:SEService方法,用于与系统中所有的Secure Elements建立连接;getReaders方法,用于获取可用的Secure Element readers;isConnected方法,判断SEService服务是否连接;shutdown方法,释放所有Secure Element占用的资源。
Reader类中包含五个公共的方法:getName方法,获取reader的名称;getSEService方法,获取reader对应的SEService服务;isSecureElementPresent方法,判断SE是否存在;openSession方法,打开reader对应的Session会话;closeSessions方法,关闭reader对应Session会话,释放Session会话占用的资源。
Session类中包含七个公共的方法:getReader方法,获取Session会话对应的reader对象;getATR方法,获取Secure Element对应的ATR信息;close方法,用于断开Secure Element对应的Session会话连接;isClosed方法,判断Session会话是否断开;closeChannels方法,用于关闭所有由该Session会话建立的channel通道;openBasicChannel方法,用于打开基本通道;openLogicalChannel方法,用于打开逻辑通道。
Channel类中包含六个公共的方法:close方法,关闭与Secure Element对应的channel通道;isBasicChannel方法,判断打开的channel通道是否为基本通道;isClosed方法,判断channel通道是否关闭;getSelectResponse方法,获取select命令的返回结果;getSession方法,获取打开此channel通道的session会话;transmit方法,通过该channel通道向Secure Element下发APDU命令。
收藏
举报
TAG: