【问题标题】:Does my Windows app needs to be signed with a trusted certificate?我的 Windows 应用程序是否需要使用受信任的证书进行签名?
【发布时间】:2014-07-18 22:38:26
【问题描述】:

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

我打算以从网站下载的 MSI 安装程序的形式分发我的应用程序。安装程序将使用我的签名证书进行签名。

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

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

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

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

【问题讨论】:

    标签: windows windows-installer code-signing uac


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我明白这一点。我对 Windows 的行为更感兴趣。具体来说,当用户运行打包在签名 MSI 包中的未签名 exe 文件时,它会向用户显示任何警告吗?
      猜你喜欢
      • 2013-12-13
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 2023-04-11
      相关资源
      最近更新 更多