要对我们刚刚创建的CAB文件进行签名,我们需要Microsoft MSDN为我们提供的工具signcode.exe 。(请查阅本文末尾与“Signing and Checking with Authenticode”相关的参考资料) 。通过这个工具,我们就可以用我们从认证机构获得的代码签名证书对CAB文件进行签名了。下面是一个使用signcode对myactivex.cab进行签名的例子:
signcode -n "myactivex" -i
http://www.myactivex.com -spc mycert.spc -v mykey.pvk -t http://timestamp.verisign.com/scripts/timstamp.dll myactivex.cab
http://www.myactivex.com -spc mycert.spc -v mykey.pvk -t http://timestamp.verisign.com/scripts/timstamp.dll myactivex.cab
在上面的例子中,http://www.myactivex.com应该被替换成你的ActiveX控件的说明页面,通过这个页面,你可以为用户提供更多的关于这个控件的信息。
要使用签名过后的CAB文件,首先我们需要将myactivex.cab复制到web服务器的一个合适的目录下,然后我们修改Web页面中的OBJECT ID标签,添加一个参数CODEBASE指向CAB文件。具体代码如下图8所示。这样,当你再使用IE打开这个页面时,CAB文件会被下载,然后ActiveX控件会被正确的安装到你的机器上。在安装的过程中,再也不会弹出提示未签名ActiveX控件的警告信息了。
图8 添加CODEBASE参数