扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 2007年8月31日
关键字:
在本页阅读全文(共8页)
1) 用户体验是不一样的。对用户而言,安装执行文件方式是个主动的过程;而自动下载安装方式更多是被动接受的过程。
2) 被安装的机会是不一样的。由于安装执行文件方式是主动的过程,用户只有了解后才会安装;而自动下载安装方式有如其名,很容易在用户不知情的情况下安装。
3) 安装过程是不一样的。安装执行文件方式往往提供了傻瓜安装向导;而自动下载安装方式则一般没有任何显式安装过程。
4) 卸载难易程度是不一样的。一般安装执行文件方式可以在程序菜单或删除程序中将安装的工具条卸载掉;而自动下载安装方式往往不在删除程序中提供删除方式,需要手动通过IE本身提供的功能进行删除。
5) 文件大小是不一样的。由于安装执行文件方式包含了安装过程,其包含安装向导需要的内容,所以此类工具条安装文件的大小要比CAB格式的文件大一倍或以上。
6) 对代码数字签名的依赖是不一样的。安装执行文件方式是主动的过程,不需要代码数字签名也没有影响;而自动下载安装方式在目前操作系统应用情况下,必须依赖有效的合法数字签名才可以进行,否则对Windows大多数操作系统而言,则安装不了。
当然,越来越多的工具条发布者更乐意同时选择两种工具条打包发布方式,让用户自由选择。
发布工具条前,有一件必须高度重视的事情需要去做。那就是把打包完成的安装包在不同操作系统、不同补丁、不同IE版本下进行严格测试。笔者在Windows 2000 Professional操作系统上以及IE 5.0版本下安装一个非常知名网站工具条时,一启动IE浏览器就导致系统崩溃。对于用户而言,这是多么致命的伤害啊!
4. 代码数字签名
什么是代码数字签名?代码数字签名软件开发商使用自己的合法数字证书添加一个数字签名在其代码上,签名后的代码不能被篡改或破坏,否则已有的签名失效。这样,用户下载或安装时就可以确信此代码开发者的真实身份,并且确信此代码没有被非法篡改和被破坏。代码数字签名相当于纸面合同签字,但谁来认证我们签字的真假呢,这就需要有权威的证书机构给我们颁发合法的数字证书。
软件开发商可以使用代码签名证书来签名EXE、DLL、CAB、OCX、CLASS、Java Applets 等多种代码。
IE浏览器怎么和工具条CAB安装包的代码签名结合起来呢?首先,IE浏览器判断此CAB安装包是否有数字签名标志;如果有数字签名,则验证签名时用的数字证书是否是IE认可的数字证书链上的证书,如果不是,则等同认为是没有数字签名。
然后IE查找当前站点所在的安全区域,读取Internet选项中安全区域关于“下载未签名的ActiveX控件”、“下载已签名的ActiveX控件”、“运行ActiveX控件和插件”的设置(如下图所示)。根据这些设置分别执行禁用、提示或启用的动作。我们也许会问,能否不提示用户而直接安装CAB安装包呢?实际上这就和上面所说的数字签名和IE安全设置有关,如果用户当前访问网站的安全区域设置为“启用”,则就不会有提示。
这里面有个很有意思的事情。默认安装后的IE浏览器认可哪些机构颁发的数字证书?我们通过IE的Internet选项下的内容中,点击证书按钮,我们可以看到IE浏览器默认的受信任的根证书颁发机构名单。那么如果我们用北京数字证书认证中心、广东省数字证书认证中心颁发的数字证书对IE工具条代码进行数字签名,IE能否认可?目前情况下,默认安装后的IE是不认可的。所以,对IE工具条进行代码数字签名,国际上用的最多的是Verisign颁发的数字证书。
那么,我们得到Verisign颁发的数字证书后,我们怎么对代码进行签名。微软提供了专用的文件签名工具(Signcode.exe)。运行Signcode.exe 后,进入代码数字签名向导界面,按照界面提示即可完成数字签名。我们可以使用Windows命令程序chktrust.exe来查验已经签名的代码信息。对经过合法数字签名后的代码进行验证,其提示信息包括软件名称、发行者信息、数字证书颁发者等信息(如下图所示)。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。