关于Symbian S60 中证书、签名的一些解释

因博客改版,本文只作为存档用途,相关资源与信息有可能已经过时。

智能手机显然已经成为手机发展的趋势了,而Symbian 手机操作系统也正随着3G时代的到来而显示出了其超强大的功能。

由于本人近期对S60及其周边应用产生了浓厚的兴趣,在泡网的过程中发现各大论坛和聊天群中的很多用户并不是很清楚“证书”和“签名”是什么东东,又特别是S60 3rd(S60第三版)在安装第三方应用程序时需要证书和签名,所以今天就把每天在各群里反复重复的话总结到一篇日志里,希望对大家有帮助。

S60第三版对在手机系统中安装运行的第三方软件有非常严格的规定和限制,特别是某些涉及手机软硬件安全、个人信息安全等方面的操作都做了特别的限制(比如随开机启动就是其中一项,就像PC上随开机启动的软件一样,对其本身的安全性要求比较严格)。应用程序要实现这些“被特别限制”了的功能就必须获得“签名”,用这个签名来告诉S60“这个应用程序是安全的,在某些功能上应该允许其运行”;这时就需要有个东西来为这个操作的安全性负责,那就是“证书”了——用证书来给应用程序签名,以表明其安全性

“签名”就是使用专用工具将证书内容写入应用程序的特定字段,表示该软件已经通过了签署者的审核,签署者对该软件的安全性负责。

其中签名可大致分三种:

一、Symbian 收费认证证书签名

即用Symbian 手机操作系统官方颁发的收费证书签名。通过了Symbian 安全认证的软件才会获得Symbian 的证书,这个认证是需要收费的,且每更新一次版本可能还得重新认证。该类软件有较高的安全级别。在手机上能正常安装、运行、且能实现软件提供的所有功能。

获得Symbian 签名需要软件作者直接和Symbian 官方打交道,基于多方面的原因,并不是所有软件的作者都会去申请这个收费证书的(尤其是一些免费软件;当然Nokia 官方提供很多应用程序,都属于这种已经被收费证书签名过的东西了)。

二、作者使用公共免费证书签名

软件作者在发布软件的时候就使用公共免费证书对软件进行了签名。这类软件可以在手机上安装运行(可能会遇到安全性警告,可跳过)。但因为公共免费证书权限较低,故不能实现那些“被特别限制”了的功能。如果某软件根本不涉及这类功能,那么软件作者也完全可能自己签名就行了。还有一种可能就是软件虽然有某部分功能属于“被特别限制”的范围,但并不是主要功能。软件作者也可能发布一个“作者签名版”,这样的版本可以正常使用大部分功能,但会丧失一些特定功能。如“来电通”软件就有这样的版本,几乎全部功能都可以使用,只是不能开机自启动,需要手动启动。

三、用户使用开发证书签名

严格来说这个应该是属于“开发者签名”。因为Symbian 为软件开发者提供一种“开发证书(Developer Certificates)”,原意本来是让软件开发者作软件测试用的。这个“开发证书”是与作为测试用的机器的IMEI 码(传说中的手机串号)挂钩的。使用这种证书签名的软件只能在该IMEI 码对应的机器上使用,不能用于别的机器。

目前各论坛和聊天中需求量最大的就是这种证书了,即所谓的“自签名证书”。意思就是你告诉Symbian 说你是开发软件的者,并提供你测试机器的IMEI 码,让Symbian 颁发给你一个“开发证书”,然后用这个证书签名你的“测试软件”,你自己对你自己的“开发行为”负责。

另外,开发证书自颁发日起有效期为半年,超过了半年的证书就不能再用作签名了,这时候就需要重新申请;但签署好了的程序的使用时限是没有限制的(证书过期以后可通过修改手机系统日期的方式安装,装完后修改回来即可)。

可见,如果要安装某些应用程序的话,其实证书并不是最主要的,因为已经有很多应用程序已经获得过其它证书的签名,你只管使用就是;但如果要安装未签名的第三方应用程序,又必须让其获得“签名”,这时就需要证书了。基于“开发证书”的开放性与免费性,我们很容易获得这种证书,其申请的过程也并不算很复杂但比较麻烦。