4

在过去的 3 年里,我有一个代码签名证书。SmartScreen当我用它签署我的软件时,从互联网下载软件时,签名并没有引起任何警告。

该证书本月到期,因此我与同一家公司续签了 3 年。

它产生的问题是,现在当我签署我的软件时,新证书在 Windows 10 中没有任何声誉SmartScreen,因此当软件下载并运行时,它会显示以下警告:

在此处输入图像描述

(我已经用它签署我的软件超过 2 周了。警告仍然存在。)

我知道这是一个渺茫的机会,但是有没有办法将这个新证书与旧证书联系起来以保持旧证书的声誉SmartScreen

PS。这种“证书更新业务”和声誉的损失让我在安装软件的数量上付出了沉重的代价。此外,为什么开发人员必须为证书更新支付声誉损失。

4

2 回答 2

3

不是您问题的确切答案,但我认为这种方法也可能对您有所帮助:

创建一个小型安装程序包,除了从网络服务器下载并运行真正的、最新的安装程序 EXE/MSI(我们称之为“辅助安装程序”)并运行它之外,什么也不做。

您可以根据需要随时更新“辅助安装程序”,但一定要避免对“主安装程序”进行任何更改(重建)。

为什么这行得通?

  • 您只需对主安装程序进行一次代码签名。只要 EXE 保持原样,即使证书本身过期,它的签名和信誉也有效(过期的证书不会让您签署新代码,但已签署的代码仍然有效)。
  • Smart Screen 仅检查您的主要安装程序。它显然不关心该程序是否下载并运行其他程序。

当然,您的主要安装程序(或者更准确地说,它是证书)仍然需要获得声誉,但在那之后,您就已经设置好了。

我使用Inno SetupInno Download Plugin来创建这样的“主安装程序”(产生约 700 kb 的安装程序)。

于 2019-12-17T14:37:48.040 回答
0

这是 MS 设计的,每次续订您都必须建立信任,然后才会为您的证书删除智能屏幕过滤​​器。如果您需要立即获得声誉,您需要购买 EV CS。我知道这对 EV CS 来说太贵了,但我们别无选择。连微软都没有回答这个问题。要么承担成本,要么忍受它等待声誉建立。

于 2019-10-14T13:42:53.693 回答