首页>技术支持>常见问题问答 >为何.exe文件也需要代码签名?有什么好处?

为何.exe文件也需要代码签名?有什么好处?

现在,不仅是软件厂商把软件放到网上供用户下载, 硬件厂商的硬件驱动程序和有关应用程序(.exe)也是放在网上供用户下载,这的确方便了用户。但是,最终用户往往由于担心此 exe 含有恶意代码而不敢随便下载 ( 即使是来自非常有名的厂商 ) ,用户的担心是有道理的,记得有一个驱动大全网站就是在流行的显卡和网卡驱动程序上加上了广告间谍软件,使得用户在安装驱动程序的同时不知不觉地安装了广告间谍软件,此广告间谍软件还不能卸载。此事闹得沸沸扬扬,因为用户误以为是硬件厂商所为,让该硬件厂商蒙受了区大损失。此问题只能通过对下载的 .exe 文件代码签名来解决。

大家知道,任何 .exe 直接链接下载的话,不管是否已经签名都会提示用户“这类文件如果包含恶意代码,有可能会损害您的计算机”,建议用户不要下载。但厂商可以在用户下载页面上教用户下载后如何验证此 .exe 文件的真实身份后再放心安装,这样,用户就可以放心下载,验证身份后放心安装了。

还是眼见为实,先看看互联网上下载量最大的插件软件之一的VeriSign i-Nav插件软件,该i-Nav 插件使得用户可以访问支持中文国际域名标准的网站和电子邮件服务器,让用户在浏览网站和收发电子邮件时使用可以在域名中使用简体中文字符(如:www.我信任.com)。为了防止此流行软件被非法篡改和非法捆绑其他软件,VeriSign已经数字签名此.exe文件,大家可以 下载 该插件(i-navinstall.exe),下载后不要马上安装,先右击查看该文件属性,如下图 1 所示,与其他 .exe 文件不同的是,属性中增加了“数字签名”属性,显示了签名人姓名和签名时间戳:

点击“详细信息”,如下图 2 所示:

.exe文件代码签名

不仅可以查看签名人的签名证书所有信息,还可以查看反签名人信息,也就是时间戳服务签名信息以及反签名证书信息。这样,用户才会确信此 .exe 文件确实是来自VeriSign公司,而且没有被非法篡改。

大家再看看也是互联网上下载量最大的软件之一微软的Windows 根证书升级包:大家可以 下载 该升级包(rootsupd.exe),下载后不要马上安装,先右击查看该文件属性,如下图 3 所示,与其他 .exe 文件不同的是,属性中增加了“数字签名”属性,显示了签名人姓名和签名时间戳:

.exe文件代码签名

点击“详细信息”,如下图 2 所示:

.exe文件代码签名

不仅可以查看签名人的签名证书所有信息,还可以查看反签名人信息,也就是时间戳服务签名信息以及反签名证书信息。这样,用户才会确信此 .exe 文件确实是来自Microsoft公司,而且没有被非法篡改。

为了保护用户的安全,如果硬件驱动程序没有数字签名,微软 Windows 操作系统也会在安装硬件驱动时提示用户此驱动软件没有有效的数字签名,是否安装。所以,为了保护硬件厂商和用户的合法权益,硬件厂商供用户下载的驱动程序和有关软件一定要使用代码签名证书签名后才放到网上供用户下载。

当然,这不仅仅是针对硬件厂商,其他软件厂商也有 .exe 文件要放到网上供用户下载,如果不使用代码签名,您的软件做得越好、越流行,则越有可能被非法打包其他软件,从而损害软件厂商和用户的利益。对于某些免费试用软件,如果加上了代码签名,则任何非法试图修改软件代码而绕过免费试用期的行为都使得不能通过签名验证,从而保护了软件厂商的权益。