symbian---能力(Capabilities)

转自http://www.sf.org.cn/Article/symbiandev/200709/20544.html

 

能力(Capabilities)

从Symbian 9开始平台安全性的问题被引入,这意味着,硬件设备只能有限的访问安全的数据和软件。

因此在S60第三版和UIQ3的设备上,开发者开发的程序需要一些授权才能够访问平台。这种授权被称之为能力。这些能力被定义为授权应用,因为某个API被限制使用,除非能力(capability )授予该程序使用这些属性。

这里有3种主要的能力:
1. TCB(底层处理信任)
2. USER(用户层)
3. 系统能力


TCB : "底层处理信任(Trusted computing Base )"

它由一些底层的系统属性组成,像文件系统中的目录。这些能力(Capabilities)是不授予第三方应用程序的,他们只被授权给平台的制造商。

TCB包括操作系统的核心,文件服务和存储器管理单元等等。

USER(用户层)

网络服务:打电话、发短信、访问远程服务。

本地服务:这个能力包括:通过USB、红外、蓝牙设备发送和接受信息

读取用户数据:授权读取用户信息。系统服务和应用程序引擎就是这个级别。

写用户数据:授权写用户数据,同读取的服务一致。

区域:授权访问手机的某个区域。

用户环境:授权访问关于用户和环境的保密信息

系统能力(System Cabability)

These API’s under these capbilities has access to sensitive parts of the machine which due programatical errors may corrupt the phone’s Software and hardware. So these capabilities are granted only after symbian signed which after testing is done.

ALLFiles,SwEvent,WriteDeviceData,PowerMgmt,Drm, etc.

如何赋予能力

可以在MMP文件中,使用CAPABILITY 关键字来赋予能力

CAPABILITY ReadUserData   DiskAdmin

或者

CAPABILITY   ALL -ALLFiles Drm
//除了ALLFiles和Drm的能力

在项目中,我们可以通过相应的API可以使用相关的能力,例如:DataFileSave() 可以调用WriteDeviceData WriteUserData能力。

能力是访问敏感API权限的令牌。如果需要保护Symbian OS中的特定功能(API),则使用该功能的代码必须具有与之相关的能力。
需要访问能力受保护功能的代码必须通过授权过程才能获得使用能力的权限。

能力分类:
无限制:60%的API。
用户可以授权(在安装期间):ReadUserData,WriteUserData,NetworkServices,LocalServices,UserEnvironment。
Symbian Signed:用户可以授权的能力+Location,ReadDeviceData,WriteDeviceData,
PowerMgmt,SurroundingsDD,ProtServ,TrustedUI,SwEvent。
许可获得者/平台批准:Symbian Signed的能力+[DRM,TCB]厂商,[AllFiles,CommDD,DiskAdmin,MultiMediaDD,NetworkControl]能力请求。

[DRM,TCB]需要通过向厂商申请获得。
[AllFiles,CommDD,DiskAdmin,MultiMediaDD,NetworkControl]需要在www.symbiansigned.com上填写“能力请求表单”申请获得。

能力:
NetworkServices:用于使用移动网络,例如:拨打电话或发送文本消息。
LocalServices:用于通过USB、红外和蓝牙发送或接收消息。
ReadUserData:准许读取用户数据。系统服务器和应用引擎可以自由地对他们的数据施加这一限制。
WriteUserData:准许写入用户数据。系统服务器和应用引擎可以自由地对他们的数据施加这一限制。
Location:准许访问手机的位置信息。
UserEnvironment:准许访问用户及其附近环境的实时保密信息。
PowerMgmt:准许在系统中中断任何进程或者转换机器状态(关掉设备)。
SwEvent:准许生成或者捕获键盘以及笔输入事件。
ReadDeviceData:准许读取系统设备驱动数据。
WriteDeviceData:准许写入系统设备驱动数据。
SurroundingsDD:准许访问提供外围设备输入信息的逻辑设备驱动。
TustedUI:区分”normal”应用和”trusted”应用的UI。当一个”trusted”应用在屏幕上显示内容时,一个”normal”的应用不能伪造它。
ProtServ:准许服务器应用可以用一个受保护的名字进行注册。受保护的名字以”!”开头。
NetworkControl:准许修改或者访问网络协议控制。
MultimediaDD:准许对所有多媒体设备驱动(声音、摄像头等)的访问。
DRM:准许访问DRM保护的内容。
TCB:准许在终端中访问/sys以及/resource目录。
CommDD:准许访问通信设备驱动。
DiskAdmin:准许进行硬盘管理操作,例如格式化驱动器。
AllFiles:准许系统中的所有文件可见,而且还可对在/private下的文件进行写操作。

1. 从上面可以看 到"ReadUserData","WriteUserData","NetworkServices","LocalServices","UserEnvironment" 这些能力是可以在安装期间由用户授权的,也就是自签名的程序可以使用.申请开发者证不一定需要ACS Publisher ID,只不过你有ACS Publisher ID的话可以为开发者证书申请到更多的能力.

3.使用某个能力需要在MMP文件中通过CAPABILITY语句指定

你可能感兴趣的:(api,服务器,网络协议,Symbian,平台,引擎)