S60 3rd MMP CAPABILITY

原创 2007年09月14日 11:02:00

UIQ3 Capabilities(Symbian OS9)


能力(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语句指定.

 

CMMI(Capability Maturity Model Integration,软件能力成熟度模型集成)基础知识

前言:        公司今日进行CMMI3级的例行培训,这也是我进入公司一年多以来第一次参加这种培训。在培训中,老师主要询问了我们项目组在整个开发过程中是否符合了软件的基本开发流程,所有基本的需求...
  • inter_peng
  • inter_peng
  • 2015年03月25日 09:13
  • 1264

Linux的capability深入分析

原文链接: http://www.cnblogs.com/iamfy/archive/2012/09/20/2694977.html 一)概述: 1)从2.1...
  • liuer2004_82
  • liuer2004_82
  • 2016年02月14日 19:58
  • 1458

pcie的8个capability(功能号)的查找

PCIe的capability代表PCIe设备是否具备某种功能,例如在 static __inline__ int drm_pci_device_is_agp(struct drm_device *...
  • tiantao2012
  • tiantao2012
  • 2017年03月25日 11:07
  • 732

ubuntu 16.04之初体验(多图)

ubuntu 16.04之初体验。
  • w746805370
  • w746805370
  • 2016年04月23日 10:06
  • 4214

nginx架构(修改版)

英文:http://www.aosabook.org/en/nginx.html nginx(发音为“engine x”)是一个免费的开源Web服务器,由俄罗斯软件工程师Igor Sysoev编写。...
  • ajian005
  • ajian005
  • 2015年01月11日 20:51
  • 990

nmon性能监控工具介绍与部署指南

nmon性能监控工具介绍与部署指南
  • ljunjie82
  • ljunjie82
  • 2014年08月02日 19:01
  • 1478

手机S60第三版教程集合

QUOTE: 一楼为S60第三版通用教程,所有使用S60第三版机型的新手必读 二楼为3250专属教程,特别搜集了3250的使用技巧 三楼为N73的专属教程 5700的用户可以到5700专区 ...
  • haibo0668
  • haibo0668
  • 2016年06月02日 12:51
  • 632

Unity学习笔记 3rd —— 做个小游戏

好了,让我们开始我们的Unity学习笔记 3rd —— 游戏实践 好吧,让我们打开之前学习笔记中做的小工程,然后进行修改~ 找到主摄像机(Main Camera),然后更改它的方向(相对于”角...
  • yiwenyoucod
  • yiwenyoucod
  • 2016年08月06日 21:51
  • 906

MMP???不是,是MVP

本篇文章代码引用GitHub上zhihu项目,https://github.com/yiyibb/Zhihu。在这里跟初学者强烈推荐一下,这个项目功能虽然简单,只是一个简单阅读功能,但是我很佩服开发者...
  • qq_32331397
  • qq_32331397
  • 2017年12月04日 15:43
  • 83

Unreal里,比对CodeProject,由空工程用Blueprint搭建自己的ThirdPersonGame

记录本文只是想说明,Blueprint和代码实现保持一致,几乎看着daima
  • u010153703
  • u010153703
  • 2014年07月25日 15:55
  • 1078
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:S60 3rd MMP CAPABILITY
举报原因:
原因补充:

(最多只允许输入30个字)