ActiveX与JavaApplect的不同点就在于此
ActiveX一次下载,多次运行,而且运行时跟应用程序没有区别,可以获取各种各样的资源,操作文件、内存以及其它资源,所以潜在破坏性很大。
而Java Applect是运行前必须下载,而且JVM只给Applet留了一小块可控的地方供它表演,它可用的资源是受限的,可控的。所以不需要签名或者其它什么玩艺。即可以运行。
有鉴于此,微软为ActiveX提供了数字签名机制。其实数字签名并不能证明这个东西有无破坏性,只是证明这个东西是由谁来编写的。这样,如果出现问题,会有人负责。这就是数字签名的全部机理。
就好象你从外面雇一个保姆在家收拾东西,你不可能天天在家监工,所以你必须找信誉良好的保姆中介机构来帮证明这个保姆没有不良嗜好(如有扎针的习惯:)),不会偷你钱财,即使偷了,你可以通过中介机构把它找出来。ActiveX相当于这个保姆。
而Applect有点类似于小时工。你不会把自家的钥匙交给他的,他来工作你就在旁边负责监工(与小时工有所区别的时,Applet不会见财或者见色起意,对你进行任何不负责任的动作)。
……