【新手指南】——【签名】和【证书】 相关问题的解释
来源:互联网 发布:算法基础 pdf 编辑:程序博客网 时间:2024/05/27 20:19
声明:本文讨论范围仅限于 Symbian OS v9.x 手机操作系统(包括 S60 3rd(及以上) and UIQ)
Symbian OS v9.x (S60 3rd) 在安全性方面做了比较大的改善,对在系统中运行的程序等都有严格的规定。其中主要
措施就是所谓“能力”(Capabilities)的限制,也就是我们平时说得多的“权限”:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Symbian OS v9 把应用程序的能力细分为20项:
用户能力6项
NetworkServices: 用于使用移动网络,例如:拨打电话或发送文本消息。
LocalServices: 用于通过USB、红外和蓝牙发送或接收消息。
ReadUserData: 准许读取用户数据。系统服务器和应用引擎可以自由地对他们的数据施加这一限制。
WriteUserData: 准许写入用户数据。系统服务器和应用引擎可以自由地对他们的数据施加这一限制。
Location: 准许访问手机的位置信息。
UserEnvironment: 准许访问用户及其附近环境的实时保密信息。
系统能力7项
PowerMgmt: 准许在系统中中断任何进程或者转换机器状态(关掉设备)。
SwEvent: 准许生成或者捕获键盘以及笔输入事件。
ReadDeviceData: 准许读取系统设备驱动数据。
WriteDeviceData: 准许写入系统设备驱动数据。
SurroundingsDD: 准许访问提供外围设备输入信息的逻辑设备驱动。
TustedUI: 区分“normal”应用和“trusted”应用的UI。
ProtServ: 准许服务器应用可以用一个受保护的名字进行注册。受保护的名字以”!”开头。
受限的系统能力4项
NetworkControl: 准许修改或者访问网络协议控制。
MultimediaDD: 准许对所有多媒体设备驱动(声音、摄像头等)的访问。
DRM: 准许访问DRM保护的内容。
TCB: 准许在终端中访问/sys以及/resource目录。
设备制造商能力3项
CommDD: 准许访问通信设备驱动。
DiskAdmin: 准许进行硬盘管理操作,例如格式化驱动器。
AllFiles: 准许系统中的所有文件可见,而且还可对在/private下的文件进行写操作。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
应用程序必须拥有相应的能力才能进行相应的操作。能力的获得可通过“签名”(Signed)来实现。(用户能力可在软件安装的时候由用户授予)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Symbian Signed 的三种签名机制:
一、Open Singed (公开签名) 下又分两种情况:
1、Open Singed Offline 离线签名
这个就是我们以往用的办法,去 Symbiansigned 网站申请证书,然后使用得到的证书在本地签名。
2008年2月底开始,这种签名方式只对拥有 Publisher ID 的用户开放,而无 Publisher ID 的用已经不能再申请开发证书了(无限期关闭)
2、Open Singed Online 在线签名
意思是把你需要签名的程序提交上 Symbiansigned 网站,同时提交你的IMEI(序列号),签好以后下载下来用就是。
Open Singed 两种方法签好的程序都受IMEI限制,只能在指定IMEI的设备上用。
Open Singed Offline 需要Symbiansigne 用户帐号,Open Singed Online 不需要帐号
二、Express signed (快速签名)
将待发布的应用程序 (sis文件) 先使用自己的 Publisher ID 签名,然后提交这个应用程序到 Symbiansigned 网站由 Symbian 使用 B型根证书再签名。
这样签好的程序没有 IMEI 限制,谁都能用。这种方式 Symbian 不负责测试,但可能随机抽检。程序没有资格使用 Symbian OS 标志。提交签名的程序每个收费20美元。
三、Certified Signed (鉴定签名)
将待鉴定的应用程序先使用自己的 Publisher ID 签名,同时包括开发该程序时的PKG文件、用户手册等一起提交 Symbiansigned 的测试室,由他们测试,通过后使用Symbian B型根证书签名。
这样签好的程序没有 IMEI限制,可以使用 Symbian OS 的标志。由测试室收取测试费(具体数目不明)。
从上面可以看出:只有 Open Signed Online(在线签名)是不需要 Publisher ID 的,其他的所有签名方式都必须 Publisher ID
名词解释:Publisher ID
即发布者ID。拥有 Publisher ID 意味着是一个被承认的商业软件发布者。Publisher ID 需要购买,费用是 200美元/年。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
按照 Symbian 的意思,第一种 Open Singed (公开签名) 是提供给软件开发者作为测试之用,所以签名后的程序受 IMEI 的限制,只能在单台或有限数量的机器上作为“测试”之用。而所有的公开发布的软件如果要使用6项“用户能力”以外的其他能力,就都应该使用第二种 Express Signed 或第三种 Certified Signed 这两种收费签名方式。Symbian 根本就没有打算让最终用户免费自己签名来获得更多的应用程序能力。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
最终用户关心的签名问题:
未经任何签名的应用程序是不能在手机上安装和运行的。但是!并不是每个应用程序都需要用户自己签名!
不需要用户自己签名的程序分下面几种情况:
(回忆某些程序是不是在安装的时候会提示你该软件需要读写用户数据、使用网络...,你点“继续”的时候就是授予这个程序6个用户能力了!)
如果某应用程序需要使用“用户能力”以外的其他能力,但软件开发者又没有对这个程序进行付费签名(比如很多免费软件)。那么这样的程序就必须用户自己签名了。
用户签名可以使用上述三种签名机制中的第一种:Open Singed (公开签名)。其中由包括:
名称解释:证书:
证书就是“能力”(或称“权限”)的载体。证书里包含很多信息,其中与本文相关的就是:证书里规定了该证书拥有的“能力”
参考链接:PID你了解证书吗?帮你解开证书作者:0o90o9
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
有关 Publisher ID 证书和以前的普通个人证书的问题
实际上 Publisher ID 也可以申请另外的3项 设备制造商能力(这样就能拥有完整的 20个能力)。并且一个证书里也可以包含多于1000个IMEI。但是!这些需要说明理由并提交 SymbianSigned 严格审批,很麻烦的 ...
相关链接:PID证书使用上的不同之处作者:暖昧
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
证书的有效期问题:
2007年12月11日以后,所有的开发证书自颁发日前一天起有效期为3年. (之前的开发证书有效期是半年)
如果证书过期了,仍可以正常签名,只要在安装的时候把手机的日期修改为证书有效期内即可正常安装,安装后仍可以改回正常日期不影响程序运行。
相关链接:关于【证书过期】的解释及解决办法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
总结:常见的入门问题:
- 【新手指南】——【签名】和【证书】 相关问题的解释
- 【签名】和【证书】 相关问题的解释
- 【签名】和【证书】 相关问题的解释
- 证书和签名出现问题的解决办法汇总
- Symbian证书——证书签名详解
- 通信原理中两个问题的解释——白噪声、相关解调和相干解调
- iOS程序的证书和签名机制
- android sha1和签名证书的学习
- 密钥,证书,签名相关概念
- 多域名证书的签名和自签名流程
- 签名与自签名证书的区别,解释的非常到位!
- Android签名证书----Android新手笔记
- 微软代码签名证书(.pfx格式)签名指南-CAB证书
- 关于证书和签名
- 加密和签名证书
- okHttp框架的介绍 和关于https的自定义签名证书的问题
- 代码签名证书——辨别真假软件的天眼
- 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名
- 电子网址大全
- KMP 字符串匹配算法
- LINUX SHELL >/dev/null 2>&1解释
- ImportError: No module named TileCache.Service
- 在Eclipse中ADT插件无法成功安装的解决办法
- 【新手指南】——【签名】和【证书】 相关问题的解释
- session 验证
- session 验证
- 3D和IMAX 3D带你体验加勒比的惊涛怪浪
- C语言实现顺序表
- 裸机系列——supervivi烧写
- 《STL标准程序库》笔记1
- 心爱的嗲王
- VS2008 PRO 、WDK 和DDKWizard搭建驱动开发环境