如果你有一个标准的代码签名证书,你的应用程序需要一些时间来建立信任。Microsoft 确认扩展验证 (EV) 代码签名证书允许跳过这段信任建立期。 据微软称,扩展验证证书允许开发人员立即在 SmartScreen 中建立声誉。否则,在您的应用程序建立信任之前的一段时间内,用户将看到类似“Windows Defender Smartscreen 阻止无法识别的应用程序启动。运行此应用程序可能会使您的 PC 处于危险之中。”的警告,并带有两个按钮:“仍然运行”和“不要跑”。
另一个 Microsoft 资源声明如下(引用):“虽然不是必需的,但由 EV 代码签名证书签名的程序可以立即通过 SmartScreen 信誉服务建立信誉,即使该文件或发布者不存在先前的信誉。EV 代码签名证书也有唯一标识符,这使得在证书续订期间维护声誉变得更加容易。”
我的经验如下。自 2005 年以来,我们一直使用常规(非 EV)代码签名证书来签名 .MSI、.EXE 和 .DLL 文件,并带有时间戳,并且 SmartScreen 从未出现过问题,直到 2018 年,只有一个案例需要 3 天为我们的应用程序的 beta 版本建立信任,因为我们已将其发布给 beta 测试人员,并且它处于证书有效期的中间。我不知道 SmartScreen 在我们的应用程序的特定版本中可能不喜欢什么,但从那时起就没有任何抱怨。因此,如果您的证书是非 EV,它是一个签名的应用程序(例如 .MSI 文件),它将随着时间的推移建立信任,而不是证书。在我们的例子中,证书可以在几个月前颁发并用于签署许多文件,但对于您发布的每个签名文件,