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:

 

评分:0

我来说两句

Open Toolbar