×
Namespaces

Variants
Actions

Symbian Signed (Chinese)

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
Levin_Wei 在 04 Jun 2010 创建
最后由 hamishwillee 在 15 Dec 2011 编辑

Needs-update.pngThis article needs to be updated: If you found this article useful, please fix the problems below then delete the {{ArticleNeedsUpdate}} template from the article to remove this warning.

Reasons: hamishwillee (07 Sep 2011)
Symbian Signed options have changed. In particular

  • DevCertRequest is no longer used to get DevCerts,
  • Open Signed is no longer a program name
    • Open Signed Online has been discontinued as it is not needed (anyone can get devcerts through site)
    • Open Signed Offline term no longer used - we just have Developer Certificates downloaded from site.

本文主要介绍Symbian Sign的内容,并且给出一些相关链接。如果以后Symbian Sign流程有所改变,将会在本文进行更新。尽管一下所有的内容都适用于Qt在Symbian平台上的应用签名,开发者也可以详细参阅在Symbian基金上的文章:Qt & Application Signing

User_guide: Symbian Signed

Note.pngNote: :我们正在完善以下地区(中国, 香港, 澳门, 台湾)的发布过程,在不久的将来,个人开发者在Ovi Store上发布产品时,即可享受免费的签名服务。

具体推出时间我们将会另行通知。对由此给您造成的不便表示歉意。
如有疑问,欢迎与mailto:publishtoovi.support@nokia.com联系!


Contents

Symbian应用签名介绍

Symbian平台安全保障

能力(Capability)

Capability模型的目的是确保:只有获信任的应用才能使用某些敏感API的接口和系统资源。对于非信任的自签名的应用来说,用户可以在应用被安装时授予某些许可,如发送短消息(SMS)及读写用户数据等。然而,有许多capabilities则只授予给通过Symbian Signed认证的应用。由于能力模型的使用,一方面可以使得Symbian平台上的API可以更加开放,同时也可以使得终端用户放心地使用使用过敏感API接口的应用,因为这些应用是经过严格测试,并且可以通过签名找到最原始的开发商。带有开发商签名的应用是可以信任的。对于Symbian平台的手机厂商来说,绝不是想通过签名来赚取一些钱,而是可以使得最终的用户能够信任自己所安装的应用,毕竟手机是一个非常个人的手持设备,而且有很多私人的信息。不可信任的应用在没有控制的情况下使用非常敏感的API接口极易导致手机系统的破坏,严重的情况下,会导致私人信息的泄露。另外值得指出的是,Symbian Sign 测试是由第三方公司独立完成的,收取的任何费用和诺基亚没有任何关系。对于大多数的应用(60%)来说,开发者可以开发具有用户能力的应用,而不用使用到非常敏感的接口,在这种情况下,开发可以自签名自己的应用,而不用花任何额外的费用。

数据锁定(Data caging)

数据锁定的目标是:控制对文件系统的访问(access)以保证数据安全。每个应用都有其自己的private目录用于储存私有数据,且不允许其他应用访问(除非该应用具有足够的capabilities)。某个应用能访问文件系统中其private目录之外的大部分区域,但是也有限制。如果与终端制造商之间没有协议,储存可执行文件的/sys目录是不允许访问的,而保存诸如位图等应用资源文件的/resource目录则为只读。为能访问那些特定的目录,某个应用需要具备一些capabilities。对终端中特定目录的capability需求如下表所示:

目录 (包括子目录) 需要的能力
读访问 写访问
/resource None TCB
/sys AllFiles TCB
/private/<ownSID> None None
/private/<otherSID> AllFiles AllFiles
/<other> None None

这里的SID指的是应用独有的安全ID(SecureID)。每个应用都有自己的安全ID及按照安全ID而定义的独有的私有目录,如c:/private/20000001。 应用的SecureID一般是由在工程文件.mmp中的UID3来决定的(如果没有特别定义的话)。由于Data Caging 的使用,可以使得应用的一些文件在没有得到应有的能力下(需要签名),免受恶意的修改或删除。

Symbian Sign开始使用时间

从S60 3rd 平台开始,Symbian Sign成为必须有的流程。

能力分类

  • 用户能力 (User capabilities): LocalServices, ReadUserData, WriteUserData, NetworkServices, UserEnvironment, (Location)
  • 系统能力第一套 (System capability set 1): (Location),SwEvent, ProtServ, TrustedUI, PowerMgmt, SurroundingDD, ReadDeviceData, WriteDeviceData
  • 系统能力第二套 (System capability set 2):CommDD, DiskAdmin, MultimediaDD, NetworkControl
  • 制造商能力 (Manufacturer):AllFiles, DRM, TCB

如果一个应用没有在mmp文件中申明足够的能力的话,在运行中就会显示KErrPermissionDenied(-46)错误代码。对于Symbian开发者来说,可以使用在Carbide IDE中的Capability Scanner来扫描应用需要的最小能力集。能力的详细分类内容在下面图中给出

UID

UID(UID3)使用来唯一标示应用的
Symbian Signed网站申请的UID。关于UID的详细描述,开发者可以在登录后,参阅UID Q&As

* 0x20000000 - 0x2FFFFFFF 受保护的UID, 适用于进行Symbian签名的应用
* 0xA0000000 - 0xAFFFFFFF 不受保护的UID, 适用于自签名应用

仅供开发使用的UID:

•0xE0000000 - 0xEFFFFFFF

Symbian Sign分类

自签名(Self-Signed)

  • 只能使用User capabilities
  • 对于一个自签名的应用程序,用户会被告知“该应用程序是不可信的”,用户可以决定中止安装
  • 在诺基亚E系列手机的用户必须更改设置,以允许自签名的应用程序安装(E系列手机出厂设置不允许自签名的应用安装)
  • 自签名应用使用的是UID分类中的不受保护UID
  • 如果用户想自签名一个应用,可以参考文章怎么用自签名证书签名一个SIS文件
  • 如果用户使用的是Carbide自带的自签名证书,该证书的有效期只有半年,所以可以通过cmd->makekeys -cert -expdays 3650来生成一个自定义有效期的其签名证书

开放式签名(Open Sign)

  • Open Signed online不需要Publisher ID,但一次只限一个IMEI号,对接受下载链接的Email地址没有要求,马上可以得到签名后的sis文件的下载链接,该链接在发出后30天内有效,得到的sis文件的证书有效期为36个月。
  • Open Signed Online签名流程图:

OpenSignedOnline1.png
OpenSignedOnline2.png

  • Open Signed offline需要Publisher ID,下载DevCertRequest,按照该软件中提示,填写相应内容,获得my.csr文件,该csr文件中限制1000个IMEI号,然后上传到SymbianSign,获得相应的.cer文件,与申请Publisher ID时获得的.key文件对应用进行签名。在申请SymbianSign账号时,EMail地址不可以是GMail、yahoo这些公共域名邮箱,必须是SymbianSign认可的公司域名邮箱。马上可以得到相应的cer文件,该cer文件有效期为36个月。
  • Open Signed Offline签名流程图:

OpenSignedOffline1.png
OpenSignedOffline2.png

  • 预签名的应用的UID可以是任意的UID,但如果是由Symbian Signed主页申请得来的UID,那么Open Signed Offline的Publisher ID必须与申请该UID的账号相匹配。

快签(Express-Signed)

  • 需要Publisher IDSymbianSign账号
  • 快签应用使用的是UID分类中的受保护的UID (0x2xxxxxxx)
  • 方便、快捷的签名方式,没有IMEI号限制
  • 每次签名都需要花费一个Content ID,下面给出Symbian Sign的相应资费
  • 认证的sis文件会被Symbian Signed Test House随机抽查测试。如果发现被乱用,账号将被冻结不能使用快签,直至该应用被测试公司完全通过。
  • 大约85%的应用可以使用这种方式签名
  • 直接在本地先用signsis和publisher ID的证书(.cer)进行签名,签名好以后的sis文件和一个.pkg文件,一个readme.txt文件一起打包成一个zip文件。在SymbianSign网站上花费一个Content ID进行签名,整个签名过程大概10分钟,中途如果屏幕自动休眠了,签名会失败。但是没事,重新签一次就可以了。签名成功才扣一个Content ID,不成功不扣Content ID。
  • Symbian Signed测试标准
  • ExpressSigned签名流程图:

ExpressSigned1.png
ExpressSigned2.png

认证签名(Certified-Signed)

CertifiedSigned1.png
CertifiedSigned2.png

开发商签名(Symbian Signed for Nokia)

注意:

  • 如果进行签名的证书是从网上依靠Publisher ID申请得来的,并且进行签名的应用使用的UID也是从网上依靠Publisher ID申请得来的,那么,这两个Publisher ID必须是同一个
  • 从2010/3/9起,Express Signed的费用从之前的20USD降到€10,Certified Signed的费用从之前的大约€185降到€150
  • 从2010/3/9起,Sogeti成为Certified Signed的唯一Test House
  • 从2010/3/1起,NSTL和MPhasis不再是Certified Signed的Test House

签名种类、能力、时间对照表

各种签名与能力对照表2.png

注意:上图中红色颜色沟出的能力Location,在3rd fp2之后才归为User Capabilities,在3rd fp2之前该能力属于System Capabilities

Symbian Sign相关内容

怎么获得Publisher ID

签名应用程序注销

  • 签名的应用程序可以被Symbian Signed注销,使得该应用不可以安装
  • 手机需要打开该功能,在安装的时候连接到注销服务器,进行检查该应用是否可以安装
  • 检查流程图:

CheckSign.png

SymbianSigned(Certified-Signed)以及JavaVerified认证测试已在中国落地

联系方式及提交流程请参考: SymbianSigned(Certified-Signed)以及JavaVerified认证测试已在中国落地

Symbian Signed相关链接

应用测试和认证入门
Symbian Signed官网
Symbian Signed Wiki文章
Symbian Signed指导
How to creating and sign a sis file

This page was last modified on 15 December 2011, at 08:15.
803 page views in the last 30 days.