本文主要是介绍Symbian 能力,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
规则 1 :程序的 capabilities 由 exe 程序的 capabilities 决定,而不是它所调用的 DLL
规则 2 : exe 程序不能加载 capabilities 小于它自身的 DLL
Capabilities 是 Symbian 平台安全性的一个重要特色,实在 S60 3rd ( Symbian v9.1 )以后引进的。对于一项 Capability ,一个程序可以选择有或者没有(这些依据实际需要而定)。在一些 action 中,比如调用 Symbian 操作系统上的 server ,就要求程序具有某个 Capability 。一项 Capability 是否需要,依赖于被调用的 server :每一个 server 都定义了它自己的策略。
同样的,每一个 DLL 库也具有 Capabilities ,但是这些能力与程序( exe 文件)的所有不同。当调用 DLL 的时候, Capability 说明了这个 DLL 代码的可信赖级别,当这个 DLL 加载到进程中时,代码执行的 Capabilities 具有这个进程,也就是 exe 程序的 Capabilities 决定,而不是 DLL 的。 DLL 的 Capabilities 只是表明这个 DLL 代码可信赖的范围(级别)。比方说,一个具有 TCP Capability 的 exe 程序不能加载不具有 TCP Capability 的 DLL ,因为这个 DLL 缺少 TCB Capability 表明这个 DLL 的代码在 TCB Capability 中执行是不值得信赖的。
S60 3rd 中 Capabilities
基本的 Capabilities – 可由终端用户赋予(也就是可以通过 self -signed 赋予)
Ø LocalServices
访问本地服务,比如 bluetooth , USB ,红外等
这些连接通常不需要费用支出(不需要用户提供成本),用户也知道他们在使用什么服务,当需要使用红外,蓝牙,串口等服务进行数据传输时,需要使用到这个 Capability
这个 Capability 不能够提供网络或者打电话的方位权限。对于这些,请参见 NetworkServices
这项 Capability 能够用于 self-signed 程序
Ø UserEnvironment
访问从用户物理环境读取数据的服务
这项 Capability 允许程序进行录音,使用相机等操作。但是它不提供对用户位置信息的访问权限,关于这一部分,请参考 Location
Ø NetworkServices
授予对远程服务(比如拨号,发送短消息, WLAN , GPRS )的访问权限,这些可能导致用户费用的支出。
这项 Capability 允许访问任意的网络服务,而不关注传输介质是什么。比如,你能够连接到一个 IP 网络拨打语音电话。
这项 Capability 能够用于 self-signed 程序
Ø ReadUserData
允许软件读取用户的机密数据,比如联系人信息。这项信息是否被机密由平台决定。
对于用户数据的写入,请参考 WriteUserData
注意: ReadUserData 和 WriteUserData 并不总是成对出现的。没有必要通过他们对同一区域同时进行读写访问。
这项 Capability 能够用于 self-signed 程序
Ø WriteUserData
允许软件对用户的机密数据进行写入操作,比如联系人信息。这项信息是否被机密由平台决定。
对于用户数据的读取,请参考 ReadUserData
注意: ReadUserData 和 WriteUserData 并不总是成对出现的。没有必要通过他们对同一区域同时进行读写访问。
这项 Capability 能够用于 self-signed 程序
Ø Location ( 从 S60 3rd Edition, FP2 以后 )
允许软件获取手机的位置。这个能够通过外置或者内置的 GPS 实现,通过网络操作或者其他的安装模块。
注意:如果使用外置的蓝牙 GPS 设置,你就需要这项 Capability 了,而是使用 LocalServices
这项 Capability 只能够被具有证书和 symbian 签名的开发者赋予。
拓展的 Capabilities – 可通过 symbian signing ( symbian 签名)赋予
Express Signed
Ø Location
允许软件获取手机的位置。这个能够通过外置或者内置的 GPS 实现,通过网络操作或者其他的安装模块。
注意:如果使用外置的蓝牙 GPS 设置,你就需要这项 Capability 了,而是使用 LocalServices
这项 Capability 只能够被具有证书和 symbian 签名的开发者赋予。
Ø SwEvent
这项 Capability 允许软件读取键盘,向其他程序发送消息等
这项 Capability 只能够被具有证书和 symbian 签名的开发者赋予。
Ø SurroundingsDD
授予对 对手机环境提供输入信息的逻辑设备驱动的访问权限
Ø ProtServ
授予一个 server 注册受保护名称的访问权限。受保护名称使用“ ! ”作为开头,内核不允许不具有 ProServ Capability 的 server 使用这样的名称,也就是阻止受保护的 server 被模拟。
Ø PowerMgmt
授予杀死任何系统进程或者切换机器状态(比如关机)的权限
Ø ReadDeviceData
允许软件读取当前网络(比如 CellID )和设备设置(安装程序)的信息
这项 Capability 只能够被具有证书和 symbian 签名的开发者赋予。
Ø WriteDeviceData
授予访问系统敏感数据(控制设备行为的设置)的权限
Ø TrustedUI
授予软件可信赖 UI 会话的权限,比如在安全的 UI 环境中显示一个对话框。
Certified Signed
Ø NetworkControl
平台安全 Capability ,网络控制
修改或方位网络协议的控制的能力
典型的,一个行为改变几个现存的或即将的连接行为,这些应该收到 NetworkControl 的保护。例如,强制抛弃某个特定协议的所有存在的连接,或者改变某个调用的优先级。
Ø MultimediaDD
平台安全 Capability ,多媒体设备驱动
访问一些严格受限的多媒体函数,比如直接访问关联的设备驱动,或者有限访问多媒体 API 。包括声音,相机,视频等
Ø CommDD
平台安全 Capability ,通信设备驱动
直接访问所有的通信设备驱动
包括 Wi-Fi , USB 和串口设备驱动
Ø DiskAdmin
平台安全 Capability ,磁盘管理
影响到多个文件或目录的磁盘管理操作(或者整个文件系统的完整和行为等)。包括挂载或者卸载驱动分区
厂家授权 Capabilities
Ø AllFiles
平台安全 Capability ,所有文件
授予所有文件可见或者额外的私有文件写入访问权限。类似于 TCB ,这项权限控制的非常严格,不轻易赋予这项权限。不同于 TCB ,所有文件都允许私有读写
Ø DRM ( Digital Rights Management )
平台安全 Capability , DRM
授予改变 DRM 包括内容的访问权限。回放这些内容不需要 DRM Capability 。
Ø TCB
平台安全 Capability ,受信赖的计算基础
可执行和共享的只读资源的写入权限
TCB 允许对 /sys 和 /resource 目录进行写入,这项 Capability 非常关键,因为它允许对可执行程序进行写入操作,其中包括了该进程的 Capabilities 。
这篇关于Symbian 能力的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!