塞班系统symbian手机签证与软件证书

一句话概括证书。
用来和 key文件 配合了给 塞班手机软件 做数字签名的一个文件。
给软件做数字签名要用到 key文件 证书文件 和签名软件(这个有电脑版也有手机版)
证书的原理就是基于数字签名技术。

数字签名,就是用密码学的方法实现的签名。(此签名是无法伪造和可以确定此签名的来源)

———————————————————–
下面是详细讲解。小白可以不用看了。看了会成为高手的。

写帖子的时候尽量为让新手看懂。写的多了点。但是还有没说清楚的大家提问好了。

老鸟只要看信任传递过程就能猜的差不多了。

证书无疑是s60 3rd里最热门的话题。他是装很多软件基础。

分解一个证书

证书是个文件,不错。但这个文件里面是什么呢?也许早有机油用按文本文件的格式打证书打开看过。
看到里面是一些没有意义的ACSII字符。并没有其他什么特别的地方。而且是分成两段的。那么这两段,
到底是什么内容呢。现在我们就来解答这个问题。

首先我们要说这两段是两个不同的证书。如果你分别把它们保存成两个单独的cer文件的话。

1.第一个cer我们用BASE64解码得到如下信息
———————————————————————————–
Data:
Version: 3 (0x2)
Serial Number:
92:b1:12:96:14:7c:f4:78:f7:0b:8d:a5:4e:47:30:11:80:65:7c:a9:9e:24:eb
:8f:83:92:c7:1c:b1:00:39:5d:cb:56:85:c1:c8:63:74:45:8a:65:3c:6a:b3:69:df:de:a5:4
e:1c:9c:f2:58:77:f8:4f:58:a4:49:57:4f:ab:eb:6a:11:a2:6f:44:29:8a:ac:94:5c:85:06:
98:e4:43:08:80:63:85:95:67:1a:29:8c:ce:60:26:d8:61:93:5f:0c:34:ca:71:e3:28:a1:c5
:4c:7f:c2:c5:00:88:ad:35:86:57:47:ab:e3:06:f5:47:72:32:bb:c6:6d:32:95:9c:83
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=GB, ST=London, L=Southwark, O=Symbian Software Limited, CN=Sym
bian Developer Certificate CA 280205A/Email=developercertificates@symbian.com
Validity
Not Before: Mar 7 14:42:50 2008 GMT
Not After : Mar 7 14:42:50 2011 GMT
Subject: C=CN, L=dongguan, O=Dongguan Dalang Soubao Mobile Phone Shop, O
U=Symbian Signed PublisherID, CN=Dongguan Dalang Soubao Mobile Phone Shop, ST=gu
angdong
Subject Public Key Info:
ublic Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:c0:d3:d2:2e:81:91:7e:ee:5d:42:b5:73:3c:7b:
a8:74:62:41:67:cf:44:96:35:49:ad:30:6c:2c:1e:
53:5e:0a:97:a6:3e:c3:89:bb:93:e1:89:57:21:e0:
d8:75:7e:e9:07:c3:47:c1:45:9d:56:0f:6c:5c:0c:
5e:75:fb:4d:92:4a:4e:e8:05:36:bf:82:c8:5f:65:
fc:6a:15:c1:9b:37:34:82:36:b7:16:6d:1c:22:03:
5b:16:67:3d:9c:98:f7:a7:69:53:5f:2f:d4:da:bb:
33:ee:78:4f:47:8b:b3:5d:09:4a:c8:f0:e4:ea:0f:
ea:c7:06:00:b7:af:32:80:b3
Exponent: 65537 (0x10001)
X509v3 extensions:
1.2.826.0.1.1796587.1.1.1.1: critical
0.!…256255016073926..654835019155432
1.2.826.0.1.1796587.1.1.1.6: critical
…}…….
Signature Algorithm: sha1WithRSAEncryption
bd:19:4b:2c:1e:ef:38:15:43:e3:7b:06:da:f4:31:aa:9d:38:
c1:61:ea:b3:ea:c5:00:03:2f:dc:69:b5:40:f9:23:49:89:6a:
50:70:61:9b:6c:fe:77:52:46:20:90:53:49:f9:fc:dd:db:81:
a3:0e:b9:95:60:08:e3:d1:18:ac:7d:92:70:25:41:16:ef:28:
b9:21:51:12:09:85:0d:55:98:89:d3:e9:66:c5:32:9e:ec:f2:
f1:2b:2e:6c:6b:c5:2c:a2:f3:78:0d:cb:d6:e3:5a:ab:3a:d1:
03:2e:93:f1:cd:8a:8c:26:d6:d5:07:fc:92:44:1c:60:6a:bc:
3c:04
———————————————————————————–
里面是些基本的信息,有证书的有效期。发布证书的机构 symbian。授权给的公司
Dongguan Dalang Soubao Mobile Phone Shop 。还有授权使用的imei号码(这里有几百个imei号码
为了写帖子方便故此省略了)。这样也能看出是个证书是一个用publisherID做的证书。
那个…}…….实际是说的这个证书所具备的能力。(关于能力的问题以后详谈了)

这里 RSA Public Key: (1024 bit) 开始的这段
实际是Dongguan Dalang Soubao Mobile Phone Shop公司的
publisherID所对应的RSA公钥。(RSA是非对称密钥密码,有一对公钥和私钥组成,用RSA公钥
加密的信息必须用RSA私钥才能解开了的,1024bit是密钥的长度,1024bit特的RSA密
钥是很安全的,1977年创造RSA算法开始1024位的密钥到今天从未被破译过。随着计算机发展
保守估计1024位密钥还能撑个5-10年。如果想伪造签名的,看到这里可以歇歇了,工行的数字证书
是2048位的破解这样的密钥直接没戏。目前有记录的破解只有512位的和307位的,都是联合网络的计算机化很
长时间破解的。为什么叫RSA 这是创造这个算法的三个数学家的名字的字母,保守估计)
也许有些人已经猜到了这个RSA公钥对应的RSA私钥,就是我们签名用的key文件。
的确和这个证书对应的key文件就是这个RSA私钥。他和这个的RSA公钥,组成了
RSA的密钥对。

Signature Algorithm: sha1WithRSAEncryption
文件末尾的这段是数字签名的开始。(数字签名:用密码学的方法来验证发布信息的正确性,与发布信息的来源。)
这里是symbian对上面信息的一个数字签名。
这里用的算法是SHA-1 和RSA

SHA-1 是安全散列算法。
这个算法用于对一段信息产生唯一的一个数字标识。
这段就是用sha-1算法对上面的信息计算得出一段数字标识。
然后用个versigin公司的RSA的私钥对这段标识进行加密得到的密文。

所以要验证上面信息的正确性和完整性只要
用sha-1算法对上面的信息计算得出一段数字标识。
用versigin公司的RSA的公钥解开这个密文得到一段明文
比较这段明文和数字标识的一致性就能验证上面信息的是否是由symbain发出的。
因为如果上面的信息被修改过用sha-1产生的数字标识和明文就不会一致。这样数字签名就失效了。
而且能用symbian的RSA的公钥解开的密文必须要由symbian的RSA的私钥才能做出来
而symbian的RSA的私钥只才symbian的签证专用的服务器里才会有的。所以其他人
是无法伪造这个数字签名的。
如果签名正确就足以证明上面信息是symbian发布的。绝不是其他人发布的。
而且上面的信息保持着完整性和正确性。

2.另一个cer文件解码如下
———————————————————————————–
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
76:34:a0:91:30:9a:16:7d:9d:7f:c2:4b:64:6e:4f:f0
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, O=VeriSign, Inc., CN=VeriSign Identity-Based ACS Root for
Symbian OS
Validity
Not Before: Mar 2 00:00:00 2005 GMT
Not After : Mar 1 23:59:59 2015 GMT
Subject: C=GB, ST=London, L=Southwark, O=Symbian Software Limited, CN=Sy
mbian Developer Certificate CA 280205A/Email=developercertificates@symbian.com
Subject Public Key Info:
ublic Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:fa:65:c9:d6:b4:b9:1a:8d:ff:10:28:62:a3:d8:
fd:ad:e4:ab:56:c5:2a:99:92:04:f9:c6:8c:cc:42:
33:04:9a:f6:c3:f1:1b:51:8b:72:2a:f0:58:f9:11:
2f:8e:a5:39:88:17:3a:e5:da:7f:25:bb:a7:ce:6b:
85:1a:78:59:4e:60:a8:75:71:f3:ae:fa:74:23:c8:
0d:32:35:91:85:68:d7:65:b0:73:be:77:fb:f5:10:
87:0a:f2:b1:c6:f1:00:d3:0d:64:83:57:6f:9d:ff:
d8:21:fc:eb:2e:20:8e:73:b3:56:95:97:6c:f6:dd:
f4:16:03:31:ca:bf:b8:22:d1
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
0…….
X509v3 CRL Distribution Points:
0g0e.c.a._sitecrl.verisign.com/offlineca/VeriSignIncVer” target=_blank>http://onsitecrl.ver
isign.com/offlineca/VeriSignIncVer
iSignIdentityBasedACSRootforSymbianOS.crl
2.5.29.37:
0
..+…….
X509v3 Key Usage:
….
X509v3 Subject Key Identifier:
..::……”..H……./
X509v3 Authority Key Identifier:
0….B…[.T.!.zn.Y.K..*
Signature Algorithm: sha1WithRSAEncryption
2f:e7:cc:9e:d3:2d:aa:fe:df:dd:8f:1a:47:0c:61:ce:7d:c5:
91:24:13:00:1a:ca:ae:54:f9:e7:ba:9c:f6:93:30:a1:fb:fe:
88:6f:ed:1f:d9:31:53:78:c6:2a:63:57:ff:8f:b4:25:af:c4:
c7:d8:ea:4e:f3:76:5c:b9:b9:62:3a:fc:32:6f:8c:db:44:68:
ba:72:40:cb:f9:af:31:ff:a9:4d:88:b9:25:a1:1f:22:5c:f5:
94:be:60:15:89:b4:f5:ee:81:51:38:18:5e:f2:dc:43:c6:69:
ee:68:67:ff:66:30:68:73:5c:25:cb:92:b0:21:0e:11:fd:ab:
df:3d:fe:57:4d:5f:20:13:44:42:e4:02:43:a4:fb:44:c3:3b:
8b:32:47:7c:95:72:39:71:c5:1f:b1:c7:52:29:17:91:90:bd:
76:e0:ff:aa:51:e5:bd:a5:96:fd:62:7a:ce:c2:58:f4:91:ed:
8f:30:97:5d:f3:cc:55:76:c3:aa:60:60:88:e8:a6:a6:55:f8:
dd:04:23:ac:bd:d2:c4:b0:a8:08:4f:76:3b:b1:49:35:80:19:
40:8f:4f:2b:a9:c6:bf:9b:75:60:56:d0:b4:5c:b1:97:16:35:
7d:b0:fa:61:35:5b:df:a9:a0:0f:5a:15:70:2e:63:bf:25:17:
f8:52:7c:13
———————————————————————————–
里面是一些基本的信息。里面有使用的算法。以及发布者的信息。授权者的信息。
这个证书的有效期2005-2015
其中RSA Public Key: (1024 bit)开始的是symbian的RSA的公钥。

最后 Signature Algorithm: sha1WithRSAEncryption
开始的是versigin公司对上面所有信息的数字签名。使用的算法是sha-1 和RSA
这里有versigin的对应的RSA公钥同样能验证这个数字签名的有效性。

那个这个公钥在哪里呢?
这个公钥在你的手机里。(下面讲手机安装软件时会重新提到的)

由于这个证书是verisign公司发给symbian的。
所以2005-2015里所有制作的证书包括个人免费。publisherID做的证书
这些证书里的第二段是完全相同的。

一般来说versigin的私钥在versigin的公司的签证服务器里。
symbian的私钥在symbian公司的签证服务器里。

以上是关于一个证书里的信息。
当然这个这个是例子是用publisherID做的证书。
以前还有个人开发证书。
这两个证书的区别。做过签名工具可能知道
以前个人开发证书用的是DSA算法 而publisherID用的是RSA算法。
其他都是一样的。
所以以前个人签名用的key是DSA算法中的私钥,DSA算法的公钥还是在个人证书的第一部分。
现在的publisherID的key是RSA算法中的私钥,RSA算法的公钥也是在个人证书的第一部分。
个人证书和publisherID除了算法不同外还有个区别是
publisherID有17项能力。比个人证书多4项。(关于什么是能力请看下面)

这里顺带说一下key文件也是BASE64编码的。

证书的产生

我们知道一个离线签名的证书需要用symbain的申请工具DevCertRequest.exe
提交必要的信息如imei号码 key文件(publisherID还需要提交一个特殊的证书,开发商证书)
申请的能力变成一个csr申请文件。
csr上传到塞班的服务器上。让后就变成cer文件下载下来。这个文件就是证书了。
那么csr文件是如何变成cer文件的。cer和csr的关系是什么。

首先csr 里面含有的 申请的imei号。(个人开发证书只能申请一个imei,publisherid能申请小于1000个imei
还有设备开发商能申请大于1000个imei)开发者的信息。(个人卡发证书是随便填的。publisherid这里的信息
是从ACS证书里获取的)申请的能力。这些信息。让后这些信息被 DevCertRequest.exe这个软件用key(私钥)文件加密了。
同时附带上和这个key(私钥)对应的公钥。个人证书采用的是dsa算法。他的公钥是靠key文件产生的。
而publisherid是采用的rsa算法,和他对应的公钥是在ACS证书中。
所以csr文件就是有 一段被key文件加密的信息 和一把打开这些信息的公钥组成的。

让后csr长传到symbiann服务器上。
如果是publisherid做的csr在这里会多个验证过程
先校验acs证书。
(acs证书和我们用的签名证书第一段差不多。但是acs证书了是
开发真的信息。没有串号。而个人证书里除了开发信息还有串号。
虽然就这么一点点区别但是那最后的bymbian的数字签名是不同的。

以前这个验证可能存在着漏洞,导致同样有publisherid开发帐号的
可以冒用别人的publisherid的key和签名证书就能做出证书来了,
这个在opda论坛上能看到,他的确用两个key做证书的。他做的证书
有两种一个是属于南通某公司的。一个属于广东某公司的。
可能以前服务器啊对证书的验证停留在 对数字签名的有效性验证。
我们普通的开发证书有symbian的数字签名
而ACS证也有 symbian的数字签名 只是签的内容不同。
未对里面所签名的信息进行验证。以区分开这两种证书。
导致拿到别人的key和开发证书后可以用别人的名义做出新的证书。
而发现opda14号以后没用过广东的证书。而且测试也证实现在用
别人开发证书和key是不做不出新的证书来的。所以现在symbian的
漏洞填补了。他会先验证acs证书签名。然后验证这个是不是acs证书。
acs证书和开发证书的区别是 acs证书里是不会有任何imei的。
acs证书由于有数字签名的保护。所以我们是无法伪造的。

opda用多个证书为自己签名也导致 dospy和cnpda诚惶诚恐都用一定的
技术手段保护key 而opda自己却没有保护key。

这也是大家为什么现在在论坛上找不到和自己证书对应的key的原因。导致现在的开发证书不能在手机上签名。

实际现在的漏洞已经没有了。 只要不把acs证书或上传的csr泄漏出去。
别人是没法再盗用key了。(本身盗用key的意义是防止bymbian的发现后封key
这样能起到保护自己的作用)

校验玩acs证书用证书中的rsa公钥把 刚才用key加密的信息解开
(如果是个人证书就是用dsa的公钥把 用key加密的信息解开)
这样一解开也就能证明这段信息所对应的特定的开发者。
应为key作为私钥 就因该只在开发者手中。他也代表了开发者。
就如通symbian的私钥能代表symbian是一样的。我们是不能接触到这个私钥的。
当然为了大多数机油现在这个私钥实际是人手一份的。

解开之后symbian能从csr里得到如下信息。申请者的资料。申请设备的imei
需要申请的能力。和申请者手中的key私钥对应的公钥。申请的时间。
让后symbian用自己的rsa的私钥对上面的信息做了个数字签名(这步在专业服务器中进行的)
这就完成了我们开发证书的第一部分。让后再加上verisign发给symbian的证书,就是证书的
第二部分。
所以第一部分的数字意义就用symbian的rsa的私钥 对开发者的提交的imei 申请的能力
基本资料 证书有效期的 数字承认与授权。这个也是证书中的重点。每个证书这里的数字签名绝对不同

开发证书就是这样出炉的。

关于证书的能力

所谓能力就是 塞班软件需要调用手机系统资源的一种权利。
一个程序如果没有系统赋予的权利。他连成为程序的能力都没有。更不要谈成为病毒了。
把这种权利控制起来能很好的控制病毒及木马。

像这样的能力一共有20种

1.无限制:60%api

2.用户能力:无限制+ReadUserData,WriteUserData,NetworkServices,LocalServices,Use
rEnvironment
(一个证书什么能力都没有被签名。这样签名的软件一样可以使用上面的这些能力。这就是我们说的一部分免签名的软件
所以说面签名的软件能功能差点。如免签的来电通不会自己启动。应为上面没有可以让他自己启动的能力,像百阅和dedit
都是不要求特殊能力的。一个没有能力的普通证书签名后就能用。什么样的证书是没有能力的普通证书呢。用Carbide_ui_Theme_32_Setup.exe
做出来的20年通用开发证书。和makekeys做出来的一年测试证书。都是没有包含任何能力的证书。前者是用来给主题签名的。主题当然不需要
什么能力的啦。后者开发软件测试用的。而且这些证书根本就没有上传到symbian的签证服务器上。就不会有symbian的签名。当然也不会包括
任何能力。这些证书只是有个证书的架子罢了。但没有任何能力的证书签的软件还是可以使用上面的能力的。)

3.系统能力: 用户可以授权的能力+Location,ReadDeviceData,WriteDeviceData,
PowerMgmt,SurroundingsDD,ProtServ,TrustedUI,SwEvent。
(这是13个能力的个人开发证书)
13项个人开发证书的能力+CommDD,DiskAdmin,MultiMediaDD,NetworkControl
publisherID做的开发证书的能力功17项。

4.设备开发商的能力:DRM,TCB,AllFiles
其中a4最高权限版需要其中的drm能力,所以即使你有上面17项能力的证书。但高权限的a4还是没法装的。
那些a4没法装的大都是签错了版本。一般的证书只能签普通权限版的a4. 那么最高权限的a4是给谁用的?
那个是给内测名单的人用的。那个需要在www.symbiansigned.com上填写“能力请求表单”申请获得,那个a4上
有imei的限制的。只有你的设备的imei在a4上带有的imei列表里才能装的。那么我们把那个列表里添上自己的
imei不久行了吗?不行,那样同样会使数字签名失效。而无法安装。

一下是能力的解释

能力:
NetworkServices:用于使用移动网络,例如:拨打电话或发送文本消息。
LocalServices:用于通过USB、红外和蓝牙发送或接收消息。
ReadUserData:准许读取用户数据。系统服务器和应用引擎可以自由地对他们的数据施加这一限制。
WriteUserData:准许写入用户数据。系统服务器和应用引擎可以自由地对他们的数据施加这一限制。
Location:准许访问手机的位置信息。
UserEnvironment:准许访问用户及其附近环境的实时保密信息。
PowerMgmt:准许在系统中中断任何进程或者转换机器状态(关掉设备)。
SwEvent:准许生成或者捕获键盘以及笔输入事件。
ReadDeviceData:准许读取系统设备驱动数据。
WriteDeviceData:准许写入系统设备驱动数据。
SurroundingsDD:准许访问提供外围设备输入信息的逻辑设备驱动。
TustedUI:区分”normal”应用和”trusted”应用的UI。当一个”trusted”应用在屏幕上显示内容时,一个”normal”的应用不能伪造它。
ProtServ:准许服务器应用可以用一个受保护的名字进行注册。受保护的名字以”!”开头。
NetworkControl:准许修改或者访问网络协议控制。
MultimediaDD:准许对所有多媒体设备驱动(声音、摄像头等)的访问。
DRM:准许访问DRM保护的内容。
TCB:准许在终端中访问/sys以及/resource目录。
CommDD:准许访问通信设备驱动。
DiskAdmin:准许进行硬盘管理操作,例如格式化驱动器。
AllFiles:准许系统中的所有文件可见,而且还可对在/private下的文件进行写操作。

关于如何查看证的能力看下面的帖子
http://bbs.365gsm.net/read.php?tid=17173

证书的孪生兄弟key文件

证书我们知道了是怎么样的了。接下来说说证书的孪生兄弟key文件
很多机油问我这个问题为什么有了证书还要key

现在大家知道了key是ras或dsa加密算法里的私钥。他和证书里的rsa
或dsa的公钥是一一对应的。 共同完成着加密与解密, 签名与校验签名。

首先说说个人的证书的key
上面说过个人证书的key是dsa算法中的私钥。
这个key是靠一个叫makekey的程序产生的。产生时要输入随机数据。

而publisherid的key是symbian做好了之后发给申请者的。
拿到的是一个pfx文件。分解开来得到acs证书和key文件

这两个文件就是rsa算法中的公钥和私钥了。

证书与其被签名软件

大家都知道s60 一版和二版是没有证书的。
s60v3rd和uiq中一部分人软件需要证书签名后才能安装的。
有些软件则不需要签名。

那些不需要的签名的软件有两种可能。第一软件的开发商已经获得symbian认证
上面已有symbian或软件开发商的正式签名所以所以可以免签名。如来电过滤。这个没有imei限制
第二种这个软件不需要使用系统特殊的资源(不需要申请能力)。这样的软件用
20年开发证书签名后就能用。而且没有imei限制

其他申请能力而没有symbian的认证签名的软件都需要用开发证书签名后安装。
而这些开发证书是有imei限制的。
所以用开发证书签名的软件都有imei限制。只能在开发证书里包含的imei对应设备上才能安装
以前的个人证书只有1个imei。那个证书签的软件就只能装对应那个imei设备上。
现在的publisherid能签小于1000个imei。那个证书签的软件就能装在那些对应的imei设备上。
这个就是目前的publisherid和以前的个人证书的区别。所以所现在是几百个设备同一个证书。
这个证书签的软件这几百个设备都能装。而以前只能装一个设备上。publisherid做的证书是17项能力
而个人证书是14项能力。就这么两个区别。

(有人问1000个imei一个号是不是没有以前安全了。其实你用证书给软件签名就是把权限给了程序。
你是以开发商的身份使用软件的。所以安全问题symbian是不负责的。你要是把权限给了一个木马。
他当然能偷你的东西。在后台拨打电话了。所以安全方面来说两种证书是一样的。publisherid的能力多
你签给木马的话危害大点。但是我们一般是不可能傻到签个木马装装的。木马没有签名是没法进入系统的。
所以关于证书带来的安全方面的担忧有点没有必要。而且成为一个病毒最需要的三个能力symbian没有放出来
只有程序通过严格的认证提交申请表才能用使用这些能力。所以s60 3rd系统一共有20项能力。)

早有人解释设计签名的原因并不是为了给机油没事找事。
而是以前的1,2版病毒太多。才引入认证机制的。

对于对付病毒认证机制比杀毒更彻底。

因为杀毒是基于特征码扫描的。需要浪费不小的系统资源。

而认证机制防毒的原理就一条。只把重要的权利交给那些可以完全相信的软件。

认证机制就像一道墙把不可信任的程序挡在墙外。

而在墙外的程序要进入系统就需要证书这把钥匙。

一般病毒软件是不会有认证的代码的。没有认真代码。这个病毒就没有能力复制自己。
传播自己。窃取用户信息。隐蔽自己。保护自己。而作为一个合格的病毒连这些必要
的能力都没有的话。那就失去了成为病毒的意义。

给软件签名的过程
1.用安全散列算法对要签名的软件产生一段数字标识。
2.用k
ey文件对这个数字标识进行加密。
3.把这个数字签名和证书里的两段内容一起附加到这个软件的头部。

软件安装的过程
1.手机里是有个rsa的公钥这个公钥就是上面提到的verisign公司的RSA算法的公钥。
由这个公钥验证证书里第二段内容的verisign公司的数字签名。
如果这个时候失败则手机显示 证书错误 请与应用程序供应商联系
如果成功的话手机系统就会信任这个数字签名里包含的symbian的一个RSA公钥。

因为有且只有公钥才能验证私钥的签名。所以就可以判断这个信息的却为verisign公司发布
绝无伪造和篡改过。所以程序可以信任那个symbian的一个RSA公钥。

2.有了一个可信任的symbian的一个RSA公钥。就可以验证开发证书里的第一段内容symbian的数字签名
如果失败还是显示 证书错误 请与应用程序供应商联系
成功的话手机系统就可以信任里面的 一个公钥。 (个人证书是DSA公钥,publisherid是RSA公钥)
还有这个签名中包含的有效期,申请的能力,开发者的资料。包含的授权的imei号码 等信息了

由于这些信息是用symbian的rsa私钥签名的,有了可信任的symbian的一个RSA公钥,就可以完全说明这些
信息是symbian发布和承认的。

3.有了上面可信任的资料程序会做一下几件事。
a.与当前手机时间核对有效期。如果超出则显示”证书过期”。 有这样的问题我们都知道把手机时间改到有效期内就行了。
b.核对当前的imei号码是否包含在签名的那些imei号里。如果没有则显示 “无法安装受限制证书” imei号没法改。
否则我们就不需要提交imei号码来制作证书了。现在那些新手该明白为什么要提交imei制作证书了吧。
c.把刚才用key文件签名的那个数字标识加密的信息,用刚才信任的那个公钥(开发证书里的那个公钥。就是和key文件对应的那个公钥)
解开得到软件的数字标识。 然后再次计算软件的数字标识。比较这连个数字标识是否完全相同。不同则显示 软件已损坏。
相同说明软件未被篡改过和保持着完整性。
d.获取软件申请的能力 和证书给予的能力。如果软件申请的能力 证书没有给予则显示 “没有足够权限”
如果没有出错就开始软件的安装了。

证书的历史

证书的历史。
现在个人开发证书已经被symbian封闭了。
publisherID据说也有可能被查封。
也许有人会说没有证书无所谓。但别人有证书能装模拟器,游戏…………。
一样的价钱一样的手机不同的只是别人有个证书。到时你能平衡吗?
智能机无非就是软件丰富使得功能多点。不能签证的智能机功能真的不如国产机。
没有证书像这样的智能机有必要吗?那时再看看windowsmobile的智能机你还能
骄傲的说我的也是智能机吗.
现在symbian推出个在线签,而且很麻烦。
用了这么长时间的symbian系统我的感觉。symbian并不像其他公司那样很重视我们
这个方块字的大市场。并不是我们国人买的symbian的手机少。但微软大多数网页有中文
但在symbian中文的指导实在是少的可怜。这样非得使我们放弃用了5000年的母语文字
而非得去理解才有千把年历史的acd的组合。而且在symbian居然没有像样的拼音输入法。
要知道当年为了抢中国市场手机几乎是一夜之间就有了中文功能。可作为智能手机的塞班
居然没有个像样的拼音输入法。非要装a4。而且a4还非要签名。这可以说塞班完全忽略了
我们这些黄皮肤黑眼睛的人。

如果publisherid(这个id本来就要科技公司的营业执照+200美金才能申请,而且塞班只封我们的id)
被封了。我不会再在塞班系统中流连。

既然证书的加密是完全没法破解的。
那个整个签证体制唯一能破解的地方就是。那个公钥。替换掉手机里那个verisign公钥我们就能自己制作证书了。
还有验证验证机制。然他不要验证就安装。也就破解掉了。
那个能装a4最高权限的破解版的固件就是这个原理吧。

此条目发表在文章转载分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注