查看文章 |
能力(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
或者 CODE:
CAPABILITY ALL -ALLFiles Drm 在项目中,我们可以通过相应的API可以使用相关的能力,例如:DataFileSave() 可以调用WriteDeviceData WriteUserData能力。 能力是访问敏感API权限的令牌。如果需要保护Symbian OS中的特定功能(API),则使用该功能的代码必须具有与之相关的能力。 能力分类: [DRM,TCB]需要通过向厂商申请获得。 能力: 1.从上面可以看到"ReadUserData","WriteUserData","NetworkServices","LocalServices","UserEnvironment"这些能力是可以在安装期间由用户授权的,也就是自签名的程序可以使用. 2.申请开发者证不一定需要ACS Publisher ID,只不过你有ACS Publisher ID的话可以为开发者证书申请到更多的能力. 3.使用某个能力需要在MMP文件中通过CAPABILITY语句指定. |

