微软因操作系统众多的安全问题常常忙得焦头烂额,因而在新的操作系统中使用了增强的安全级别,例如在 window7 中,程序默认运行的级别往往较低造成原有程序运行错误;在 IE8 为增强安全做了大量限制,也常常导致网页因安全限制导致无法正常运行。
但是在 win7 运行本地程序还是在 IE8 运行 ActiveX 控件,对于使用信任证书签名的程序则是允许使用较高权限运行,因此可以通过微软的代码签名技术,使用信任证书对程序进行签名,达到在 window7 中不需要特别设置“权限”选项。例如迅雷使用的 ActiveX 控件是使用 VeriSign 签发的证书进行数字签名,因而几乎不需要进行任何安全设置即可选择在 IE8 中。
在企业信息系统中,可以利用这个特点在较高的安全级别环境中运行程序,较少客户端相关的维护配置工作。
在正式的企业信息系统中,一般使用正规 PKI/CA 厂商签发的证书,尤其是使用 IE 中已经内嵌的信任证书签发数字证书;在开发测试环境中,可以使用自签发证书,但需要把此证书手工导入到信任证书列表中。
有了证书后,可以使用 signcode 工具对指定的程序进行签名,签名后程序就可以在IE 使用较高权限运行了。
当然,程序代码也可以通过WinVerifyTrust API 验证证书的合法性。