S60 3rd edition应用开发,签名认证

来源:互联网 发布:网络安全法全文 pdf 编辑:程序博客网 时间:2024/05/16 08:01

本节介绍在S60 3rd edition上进行开发的过程。由于在S60 3rd edition中引入了平台安全概念并使用了新的编译器,其开发过程与S60 2nd edition上的开发略有不同。

在S60 3rd edition上的开发过程可以用下图表示:

文档《S60 3rd Edition:工具链、IDE,及开发过程》讲解了整个过程。该文档可在下列地址中下载: S60 3rd Edition:工具链、IDE,及开发过程

SymbianSigned.com网站上也有一篇介绍开发过程的好文章:


如上图所示,可对开发步骤作如下描述:

  1. 1-编码(Coding)

开发伙伴可以导入一个.mmp文件来启动一个现有的工程,也可以用IDE工具中的“Wizard”来生成一个模板应用。通常这是推荐的方法。

在开发阶段,请预先安排好本地化和可缩放用户界面问题。因为该应用可能运行于所有的终端上,而这些终端又可能具有不同的屏幕尺寸和显示屏布局。此外,应用也许要支持不同的语言。在.loc或.rls中定义本地化字符串永远是获得良好的本地化支持的好习惯。如果需要支持本地化,请不要在.cpp文件或.rss文件中定义这些本地化字符串。

  1. 2-编译(Building)

开发伙伴既可以使用IDE工具中的编译功能也可以使用MS-DOS命令来编译范例代码。至于如何编译一个应用请到SDK帮助中寻找更多信息。

  1. 3-测试(Testing)

开发伙伴们可以在PC模拟器环境中编译并运行应用。如果没有发现问题,就能将这个应用部署到一台真实的目标机中进行测试。在S60 3rd edition上,应用的部署与S60 2nd edition也略有不同,同时还涉及到Symbian Signed。后面几节将有更为详细的介绍。在开发阶段中,开发伙伴可以申请开发伙伴证书,用于对正在开发的应用进行认证以便测试。后面章节将介绍如何申请开发伙伴证书。

开发伙伴可以到[www.symbiansigned.com SymbianSigned.com]中寻找有关Symbian Signed测试标准方面的更多信息: 测试标准

如果出于某些商业原因某个应用需要被预装到一款诺基亚终端上,那么这个应用就必须通过诺基亚测试标准(Nokia test criteria)。更多详情请访问: 这里

  1. 4-认证(Signing)

所有S60应用都必须强制签名,然后才能被部署到真实终端上。有两种认证:

    • 自认证:一个应用使用的UID位于0x80000000 – 0xFFFFFFFF之间,即非保护区域,这个应用只能使用某些基本的capabilities。更多信息请参考图2。
    • Symbian Signed:一个应用使用的UID位于0x00000000 – 0x7FFFFFFF之间,即保护区域,这个应用可能使用某些敏感APIs。

有关UID范围方面的说明在这里有更为详尽的信息。


请注意: 成功登录后方可点击该链接。

开发伙伴全面测试某个应用之后,如果需要通过Symbian Signed,就应该将这个应用递交到测试机构进行进一步的测试。目前在全球范围有三家测试机构:

    • mPhasis
    • Capgmini
    • NSTL

三家测试机构的价格各不相同,开发伙伴可以自由选择任何一家。

请到SymbianSigned了解更多有关Symbian Signed及测试帮助方面的信息。在这个网站上可以找到有关认证过程的 详细信息

请注意,开发伙伴向测试机构递交应用前需要申请一个ACS publisher ID,而在开发阶段申请开发伙伴证书就不需要。如果开发伙伴拥有一个ACS publisher ID,就可以用这个ID来申请一张适用于100台移动终端的证书。有关开发伙伴证书方面的更详细信息请参阅: Developer_Certificate_Request_Process_v2.0.pdf

由于一些原因,中国开发伙伴们申请ACS publisher ID可能会比较困难。根据与Verisign达成的一项协议,已经为中国的开发伙伴们设立了一个“绿色通道”。请于SymbianSigned了解更为详细的信息,文档则位于: SymbianSigned-General2006_v1_1.pdf

  1. 5-传送和发布(Transferring and distributing)

应用经过正式认证之后,就可以发布了。下面一些章节提供了一些发布的链接,同时诺基亚NCD((Nokia content Discover)也可用于分发。NCD是一个安装于手机客户端的应用。用户使用NCD可以方便地下载所需要的应用。

S60 3rd edition的部署

开发并在模拟器环境中充分测试应用之后,可以将该应用部署到某台真实的终端上。如上所述,必须对S60 3rd edition进行强制认证然后才能将其部署到真实终端上。

  • 对于自认证应用,开发伙伴需要在命令行中用“makekeys”来生成一个密钥及证书,用于对该应用进行认证:
makekeys -cert -password 12345 -dname "CN=username OU=NOKIA CO=CHINA EM=xyz@abc.com" mykey.key mycer.cer

另一种方法则是用Symbian 的“Certificate Request”(后面介绍)应用来生成一个密钥。

  • 对于Symbian Signed应用,开发伙伴使用下列步骤来生成所需的开发伙伴证书。
    1. 从SymbianSigned下载最新版“Certificate Request”应用。安装该应用。
    1. 启动“Certificate Request”应用。选择一个.csr名(证书请求)。在步骤2,如果并没有有效的密钥文件,请不要在文本编辑器字段输入密钥文件,而是在“Private Key”字段点击“…”按钮。这时当创建一个请求文件时会生成一个密钥文件。
    1. 完成余下步骤,最后生成了一个.csr和一个 .key文件。
    1. 进入SymbianSigned网站。注册一个账户,登录到这个网站。登录后,“My Symbian Signed”标签成为可见。请在该页面上选择“Developer certificate”,并上传先前生成的.csr文件。如果这个证书申请过程并不涉及到制造商capabilities,那么开发伙伴就可以在上传请求后立即从这个网站下载一个.cer证书文件。对于含有制造商capabilities的那些证书,请联系诺基亚论坛业务经理或相关的业务集团,要求协助以证明这些业务理由的正当性,然后才能递交请求。
    1. 针对“gcce” 和“armv5”(如果开发伙伴具有这个编译器)对应用进行编译。通常情况下,“armv5”编译器比“gcce”要小得多。但是“gcce”是SDK安装包中自带的免费编译器。开发伙伴可以使用下列命令来对应用进行针对“gcce”的编译:
bldmake bldfileabld build gcce urel
    1. 使用“makesis”命令来生成一个.sis文件 :
makesis myapp_gcce.pkg

在“myapp_gcce.pkg”文件中,它定义了所需安装文件安装的路径。

开发伙伴得到了.key 和.cer文件之后就可以使用以下命令对应用进行认证,以便将其部署到真实的终端上:

signsis myapp_gcce.sis myapp_gcce.sisx mycer.cer mykey.key mypassword

这里,“signsis”命令用于认证应用,而“myapp_gcce.sisx”是输出的被认证文件,尽管在这种情况下扩展名并不重要。开发伙伴也许需要在命令中放置正确的路径,以便使该命令能得到正确执行。应用被认证之后就可以通过蓝牙或红外部署到真实终端中进行测试。

某些IDE提供一些用户界面来管理证书和密钥。开发伙伴可以方便地选择针对“gcce” 还是“armv5”的编译,然后在编译阶段对应用进行自动认证。Carbide.c++ 和Carbide.vs都具有这项功能。