我的Windows应用程序是否需要使用受信任的证书进行签名?

时间:2014-05-29 12:14:17

标签: windows windows-installer code-signing uac

我使用C ++和QT库开发了一个Windows应用程序。该应用程序不需要提升权限即可运行。

我要将我的应用程序作为从网站下载的MSI安装程序进行分发。安装程序将使用我签名的证书进行签名。

但是,我没有签署EXE文件,我也没有看到任何问题。安装后启动应用程序时没有显示安全警告。

所以问题是,我是否应该签署EXE文件?如果我不签名,会有任何问题吗?

例如,在我下载了Dependency Walker工具后,它会在每次运行时向我显示有关未经验证的发布者的安全警告。我的EXE文件也没有签名,但我没有看到任何警告。

如果我在签名的MSI安装程序中发布未签名的EXE文件,我想知道是否会遇到任何问题。

2 个答案:

答案 0 :(得分:1)

EXE文件最好是签名,但通常不是强制性的。 Windows在运行未签名的可执行文件时不会警告用户,除非该文件具有zone identifier或正在升级("以管理员身份运行")。

但是,未签名的文件更有可能遇到来自安全软件的误报,可能会导致用户或管理员关注文件和/或进程的可信度,并且管理员在高安全性环境中更难以列入白名单

答案 1 :(得分:0)

一般来说,如果容器(MSI文件)已签名,因此在客户创建和使用之间没有被篡改,那么您可以在提取内容时信任该内容。签名主要用于部署,无论是通过MSI安装还是安装驱动程序,或者将文件传输给其他人。如果有一个场景,您要求其他人或公司在MSI文件中安装它之外使用该可执行文件,他们可能更愿意签名以验证您和您的公司。