随笔 - 2, 文章 - 73, 评论 - 60, 引用 - 0
数据加载中……

[S60]Symbian 应用软件开发、测试与 S60 平台安全常见问题问答

 

    本常见问题问答由 WoSign 根据 Forum Nokia(诺基亚开发者论坛)以下文章翻译整理,请同时参考英文原文: http://forum.nokia.com/main/technical_services/testing/index.html
http://forum.nokia.com/main/technical_services/testing/application_testing_faq.html
http://seap.forum.nokia.com/main/platforms/s60/faq.html
http://seap.forum.nokia.com/main/technical_services/testing/symbian_signed_benefits.html
以及 Symbian Signed 认证常见问题问题

    软件测试是一个应用软件开发过程中最主要的环节,一般包括模块测试、系统测试、可用性测试和权威认证测试 ( 如: Symbian Signed 认证测试和 Java Veriified 认证测试 ) 。所有通过诺基亚销售渠道推广的移动应用软件都必须通过 Symbian Signed 认证测试或 Java Veriified 认证测试。请同时参考 诺基亚测试标准和其他重要文档

    Symbian Signed 认证已经成为移动应用软件测试和认证的事实工业标准,采用业界广泛接受的软件质量规范来推动基于 Symbian 操作系统的应用软件的开发和内容的开发。 测试和认证主要是为了保证 Symbian 开发平台的安全和最终用户的更加安全。从 Symbian 操作系统 V9.x(S60 第 3 版 ) 开始,“ capability( 能力 ) ”模式限制了许多敏感 API 的访问,一些“能力”只能通过 Symbian Signed 认证才能获得,而有些“能力”还需要手机厂商的认证。

    Symbian Signed 认证主要流程如下图所示,首先在 Symbiansigned.com 网上注册用户,再申请购买 TC Publisher ID 认证证书,再签名 SIS 文件,再提交已经签名的文件给 Symbian Signed 指定的测试公司测试,测试通过后从 Symbiansigned 网站取回由测试公司重新签名的文件,就可以部署到手机中安全运行了。
    请注意:通过测试取回的文件已经重新使用手机所信任的 Symbian 根证书下颁发的 Symbian Signed 证书签名,请不要再修改此软件,也不得重新使用您的认证证书签名,否则不能正常运行。

1. S60 第 3 版的应用软件签名是强制要求吗?

:是的。 S60 第 3 版的应用软件是必须要数字签名才能运行的,是强制要求。请注意:数字签名与测试认证是两码事,数字签名是必须的,而测试认证不是必须的。您可以使用自签证书 (SDK 生成 ) 签名,或使用 TC Publisher ID(Symbian Signed 认证证书 ) 来签名应用软件。


2. 自签证书、 Symbian 开发者证书 (Symbian developer certificate) 和 Symbian 认证证书 (TC Publisher ID) 三者有什么不同?签名后的效果有什么不一样?

:对于 S60 第 3 版,应用软件签名是必须的,否则不能成功安装到手机上。如果应用软件不需要任何能力 (capability) ,则可以使用 SDK 生成自签证书;如果应用软件需要能力,则在软件开发和自测过程中需要申请 Symbian 开发者证书来签名应用软件;而对于最终发布的商用应用软件,有些能力必须通过 Symbian Signed 认证来授权,只有通过 Symbian Signed 认证才能访问某些能力。同时,手机厂商或移动运营商的应用软件市场推广也要求应用软件已经通过 Symbian Signed 认证。

三种证书签名后的效果不同在于:

(1) 使用自签证书签名

    •  可以使用 SDK 带的工具来生成自签证书或直接使用 Carbide 中的自签证书;
    •  签名后可以安装应用软件,但有警告;
    •  只具有有限的能力,仅包括: ReadUserData, WriteUserData, NetworkServices, LocalServices 和 UserEnvironment

(2) 使用开发者证书签名

    •  可以签名 SIS 文件包
    •  应用软件具有 14 种能力,可以申请其他能力
    •  仅用于开发过程调试,有测试手机数量限制

(3) 通过 Freeware 认证

    •  开发者通过 Symbian Signed Freeware 认证通道提交应用软件获得认证 ( 如果软件通过测试 )
    •  应用软件具有 14 种能力,可以申请其他能力
    •  不得用于商业目的 

(4) 通过 Symbian Signed 认证

    •  开发者通过 Symbian Signed 认证通道提交应用软件获得认证 ( 如果软件通过测试 )
    •  应用软件可以有所有能力

(5) 自我认证 (Self Certified)

    •  开发者从 Symbian 获得自我认证资格,自己测试和签名应用软件
    •  应用软件可以有所有能力

3. 为何我需要购买 TC Publisher ID ( Symbian Signed 认证证书 )?

:如果您要申请 Symbian Signed 认证,则一定要先购买 TC Publisher ID (免费软件Freeware开发者除外) 。在提交 Test house 测试之前,您需要使用 TC Publisher ID 签名 SIS 文件,用于保证软件确实来自软件开发商和不会在发送过程中被非法篡改。

    如果您需要申请支持某些重要的能力的 Symbian 开发者证书,也需要先有 TC Publisher ID 。如果您希望在多款手机上测试您的应用软件,也需要先有 TC Publisher ID( 仅针对 S60 第 3 版 ) 。


4. Symbian Signed 认证证书 (TC Publisher ID) 和 Symbian Signed 测试费用如何?

Symbian Signed 认证证书 (TC Publisher ID) 费用为 US$200( 人民币 1600 元 )( 原 VeriSign ACS Publisher ID 价格为 US$350/ 人民币 2800 元 ) 。 WoSign 为 TC Trustcenter 唯一指定的中国区销售代理商 辅助身份验证机构和中文技术支持中心。

    不同的应用软件测试费用不一样,请参考: Test House information 有详细的收费说明。此测试费用与其他类似测试服务来讲是非常优惠的,而且 Symbian 正在努力降低此费用,将会推出新的测试工具软件来进一步降低测试费用。
    WoSign 推荐用户联系Test House: MphasiS,主要考虑到3家测试公司中只有该公司在上海有办事处,方便用户中文联系,同时其测试费用也是3家测试公司中最便宜的(网上公开价格为:185欧元,约2000元)。具体联系信息如下:Atlas Wang, Tel: 021-5080 7360, Fax: 021-5080 7362, Email: wang.hao@mphasis.com


5. 什么是 Symbian 开发者证书?我什么时候需要开发者证书?

:如果您需要某些能力并需要在一台手机上测试,则您需要在 Symbian Signed 网站(Request DevCerts)申请 Symbian 开发者证书 ( 仅针对 S60 第 3 版 ) 。请参考Symbian Signed网站提供的 "Symbian开发者证书申请流程(中文)" 申请开发者证书。请注意: Symbian 开发者证书只能在申请时指定的手机上测试使用。申请条件依据希望在多少台手机上测试和希望获得哪些能力而不同,具体规定如下表:

测试手机数量 Number of IMEIs

申请条件
Authentication

申请获得的能力
Granted capabilities

1

Symbian Signed Account

LocalServices, ProtServ, UserEnvironment, NetworkServices, Location, ReadUserData, WriteUserData, SW Event, SurroundingsDD, ProtSrv, PowerMgmt, ReadDeviceData, WriteDeviceData, TrustedUI

2-100

TC Publisher ID and Symbian Signed account

As above

>100

TC Publisher ID,
Symbian Signed account
and licensee support

As above + NetworkControl, MultimediaDD, ComDD, DiskAdmin, AllFiles, DRM & TCB


6. Symbian Signed 认证证书 (TC Publisher ID) 和 Symbian 开发者证书有效期为多长?

: TC Publisher ID 有效期为一年,而开发者证书有效期为 6 个月。在申请开发者证书和使用开发者证书签名时,请确保您的 TC Publisher ID 是在有效期内的。您可以双击证书文件 (.cer) 查看证书有效期。如果TC Publisher ID 认证证书已经过期,请重新购买新证书。


7. 我如何知道自签证书签名的应用软件使用了哪些能力?

:如果应用软件要求某些能力,则在安装过程中会显示如下图示信息(不同的软件可能显示不同的信息),询问用户是否允许(由于本文从英文原文翻译,没有中文显示信息,请参考您的手机的中文警告信息,以下同)
    是否允许应用软件:
        - 使用连接功能 ( 能力 = LocalServices )
        - 读取用户数据 ( 能力 = ReadUserData )
        - 写入用户数据 ( 能力 = WriteUserData)
        - 使用照相机或麦克风 ( 能力 = UserEnvironment)
        - 网络访问或发起电话呼叫 ( 能力 = NetworkServices)


8. 如果一个应用软件已经签名,如何显示已经签名的应用软件?

:使用不同的签名证书签名,会显示不同的警告信息:

(1) 使用自签证书签名

显示“安全警告:应用软件不可信任,也许会损害您的手机”

(2) 通过 Freeware 认证

下图已经涂掉 Freeware 的名称,显示“此应用软件为免费软件,不得用于商业销售。如果您已经付款购买,请发 Email 到: symbiansigned@symbian.com ,并告之您从哪里获得此软件。 ”

(3) 使用开发者证书签名

显示“此应用软件处于开发测试阶段,如果您继续安装此软件可能会带来损害您的手机,要继续安装吗?”而一旦用户选择继续安装,则不会有其他安全警告。

(4) 通过  Symbian Signed 认证

不仅没有任何安全警告,而且不需要用户确认和同意应用软件中使用的能力,大大简化安装和方便用户使用。


9. 我如何知道我的 S60 第 3 版应用软件需要哪些能力?

:在 S60 第 3 版开发包的帮助文档中有详细说明调用哪些 API 需要什么能力,您可以通过 S60 仿真器来得到确认。当选中“ Enable EPOCWIND,OUT Logging ”和在 epoc.ini 中设置 PlatSecDiagnostics 为 ON 时,仿真器将在 Windows 临时目录中生成一个名为 epocwind.out 的文件,此文件中包含了应用软件所需要的能力信息。


10. 我的应用软件在访问某些 API 或函数时要求Nokia Vendor ID,如何得到Nokia Vendor ID?

: Nokia Vendor ID(VID) 用来保护系统的敏感区域,是 NOKIA 专用的,不会对任何其他方开放。也就是说,您不能访问需要 VID 的 API 或函数。


11. 我的应用软件需要播放和录制音频和视频,需要有 MultimediaDD 能力吗?

:不需要,除非您需要修改缺省的系统权限。


12. 我的应用软件需要从收件箱中读取附件,需要有 AllFiles 能力吗?

:不需要。在消息库中有一个类 MmsvAttachmentManager 可以原来完成此任务。


13. 我的应用软件需要从文件系统中移动 / 删除 / 复制文件,需要有 AllFiles 能力吗?

:从一般目录 ( nondata-caged ) 中移动 / 删除 / 复制文件不需要。只有从 Data-caged 目录 ( 如: /sys/bin, /private, 和 /resource ) 才需要。


14. 如果要调用 FEP (Front End Processor), MTM (Message Type Module), or browser plug-in ,需要有 哪些 能力吗?

:需要 ALL - TCB (All minus TCB) 能力。


15. 我无法安装 Symbian SIS 文件到 Symbian OS v9.x 手机上,应该怎么办?

答: 如果您的应用软件是通过 Symbian Signed 认证的,请检查 S60 手机上的“工具” -> “设置” -> “安全” -> “证书管理”中是否有 Symbian B 根证书,并检查手机日期和时间是否设置正确,同时检查手机 SIM 卡是否插入和工作正常。


16. 我们应用软件已经通过某款手机 (S60 第 2 版或 S40) 的 Symbian Signed 认证测试,是否可以在其他 S60 或 S40 手机上安装?

:安装应该是没有问题的。但如果您的应用软件仅通过某款手机的测试,则不能保证在其他手机上工作正常,推荐重新针对其他目标手机做测试。请注意:基于 S60 第 1 版和第 2 版开发的应用软件不能在第 3 版手机上安装,需要使用相应的 SDK 重新编译您的软件。


17. 什么是 UID ?我如何得到 UID?

: Unique Identifier (UID) 是系统为二进制文件 (EXE 或 DLL) 分配的唯一识别符,是为了防止可执行文件的相互干扰。对于 S60 第 3 版应用软件需要重新申请 UID ,请参考: www.symbiansigned.com -> UIDs


18. 我需要从 protected range 还是 unprotected range 申请 UID?

:下表能解释什么情况下需要什么 UID range ,取决于您的应用软件是使用什么证书签名的:

Signing status

Symbian Signed (ready to be submitted to Symbian Signed)

DevCert
self-signed

Other self-signed
(e.g. signed with self-created certificate)

UID range

Protected

Protected or unprotected

Unprotected


19. 我如何在 S60 第 3 版手机上备份和恢复我的应用软件?

: S60 第 3 版缺省是不支持备份的,但您可以使用如下办法备份和恢复您的应用软件:

创建一个 XML 备份注册文件: backup_registration.xml

<?xml version="1.0" standalone="yes" ?>
<backup_registration>
    <system_backup />
</backup_registration>

把 "backup_registration.xml" 包括到您的项目包文件中 project .pkg :

"backup_registration.xml"-
"!:\private\98765432\backup_registration.xml"

请注意:把此注册文件放在应用软件的专用保护数据区。

posted on 2008-04-16 15:49 郭天文 阅读(653) 评论(0)  编辑 收藏 引用 所属分类: S60


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理