登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: temp     [回主站]     [分站链接]
标题
temp
clq
浏览(0) + 2008-09-07 23:44:40 发表 编辑

关键字:

http://developer.uiq.com/forum/thread.jspa?threadID=2857&tstart=0
clq
2008-9-7 23:49:53 发表 编辑

http://www.zhuaxia.com/item/479835585

在mmp上加入对应的能力,如:CAPABILITY SWEvent。

讨论:SIS 能力限制(Symbian OS9.1 capability limitation) - cding's 个人空间 - IT人社区 - powered by X-Space

SIS 能力限制(Symbian OS9.1 capability limitation)
上一篇 / 下一篇 2007-05-29 21:40:30 / 个人分类:UIQ开发

查看( 224 ) / 评论( 0 )
在UIQ3.1上开发,发现关于capability的限制问题,导致某些特性不能在设备上跑,而且安装也发现问题。在MotoZ8设备上不能安装,security check fail.
1. 关于CAPABILITY的问题,通过查询UIQ文档后,加入对应的能力属性就可以解决,但如果需要没有限制的地方跑,还需要通过symbian sign。
解决方法:在mmp上加入对应的能力,如:CAPABILITY SWEvent。
详细的属性,通过run command:tail -f %temp%\epocwind.out 来得到:
more details:
Symbian introduced what is called Platform. Security. Basically this is a way of limiting what a application/process can do in the system, e.g:
- An application cannot read certain directories (data cageing).
- An application can only call certain API's by default.

What an application can do is decided upon the Capabilities it possess.
Each application/server specifies its Capabilities in the MMP-file.

Please find more information about platform. security in the SDK
documentation:
> UIQ 3 SDK > Symbian OS v9.1 > Symbian OS guide > Platform. security > UIQ 3 SDK > UIQ Developer Library > UIQ Migration Quick Guide

Regarding the KErrPermissionDenied you experience. It is hard to say what is wrong, but if you develop on for the emulator there is a handy trick that helps pin-point the problem.

While running the emulator and reproducing the error you get, run this command in a Command shell:
tail -f %temp%\epocwind.out

This file will produce alot of output from the emulator, one of the things written to this file are PlatSec errors. From that file you should be able to see the type of Capability required for you operation.

E.g:
...
*PlatSec* ERROR - Capability check failed - ....and was found to be missing the capabilities: CapabilityName

Here the CapabilityName is the capability required for that operation.
This should be added to the project's MMP-file, rebuild and retest.

Please note that it is not a good idea, to keep adding alot of Capabilities to the project. All capabilities needs to be signed for, and some are more or less impossible to get.

Also, the SDK documentation states the capability required for a
function:
E.g. CTelephony:: DialNewCall() requires the capability NetworkServices.

2. 关于sis 无法安装的问题:
取消install选项上的security check后还是出现 check fail的问题,可以通过签名来解决:
createsis create -pass DefaultPassword "yourpkg_gcce.pkg"
SignSIS yoursis_gcce.sis YourSignedsis.SIS \Symbian\UIQ3.1\epoc32\tools\cert\AllCaps.cert \Symbian\UIQ3.1\epoc32\tools\cert\AllCaps.key

clq
2008-9-8 0:01:21 发表 编辑

http://careerman.blog.ccidnet.com/blog-htm-do-showone-uid-12026-itemid-156100-type-blog.html

S60 3rd MMP CAPABILITY

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

Tags: CAPABILITY


总数:2 页次:1/1 首页 尾页  
总数:2 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1