- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Windows 8 下的 Microsoft SmartScreen Filter 是小型开发人员最可怕的噩梦。
虽然我意识到对最终用户的好处以及阻止恶意程序在最终用户的计算机上自行安装的有效性,但我和许多其他开发人员宁愿不支付代码签名证书的年度续订费用,甚至更糟,EV 代码签名证书。此外,当为内部使用而开发的产品使用来自内部 CA 的受信任证书进行签名(存储在受信任的发布商存储中)时,它们仍然会成为过滤器过分热心行为的牺牲品。
开发人员和管理员过去可以通过在受信任的发布者存储中安装发布者的代码签名证书来禁用警告和提示。当创意开发人员安装使用付费 Authenticode 代码签名证书签名并加盖时间戳的先决条件时,他们可以在那里安装自签名代码签名证书。此后,由发布者签名的程序将受到信任,并且不会触发 SmartScreen 筛选器警报。从本质上讲,一旦获得信任,发布商就无需支付经常性费用。
最近对 SmartScreen 筛选器的更改(及其作为 Windows 8 中的操作系统“功能”)的变化清楚地表明 Microsoft 希望您购买代码签名证书,而不是创造性地解决他们为您带来的问题。有没有人发现一种新方法来信任默认使用自签名代码签名证书的发布者(即不显示提示)?除了完全关闭过滤器之外,最终用户可以做什么来让 SmartScreen 过滤器知道始终信任自签名证书?
请注意,购买代码签名证书并不能解决此问题。我正在寻找一种方法来告诉 SmartScreen 筛选器信任不从外部来源购买证书、而是颁发自己的证书供其组织内部使用的发布者。
更新:我想我可能已经找到了解决方法!来自 MSDN ,可以在 Windows 8 和 Internet Explorer 10 上对列为受信任站点的站点禁用 SmartScreen 筛选器。如果有人可以验证此方法是否适用于从 Windows 8 中的受信任站点下载并运行的安装程序,我们将不胜感激,并将对许多 ISV 和内部开发团队有所帮助。这也是回答这个问题所需的解决方法。受信任的站点可以通过组策略进行配置,因此从那里开始就很简单。
以编程方式,可以通过设置计算机的 HKLM\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2!2301 或 HKCU\Software\Policies\来关闭受信任站点区域的 SmartScreen 筛选器将用户的Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2!2301设置为0,并将要信任的站点添加到受信任的站点区域中,可以按照this question所示进行.
有人可以验证我提出的解决方法是否适用于从受信任站点下载的未签名或自签名可执行文件吗?我自己并没有使用 Windows 8,因为我的操作系统升级预算都花在了证书费用上。
最佳答案
引自MSDN's website :
Detractors may claim that SmartScreen is “forcing” developers to spend money on certificates. It should be stressed that EV code signing certificates are not required to build or maintain reputation with SmartScreen. Files signed with standard code signing certificates and even unsigned files continue to build reputation as they have since Application Reputation was introduced in IE9 last year. However, the presence of an EV code signing certificate is a strong indicator that the file was signed by an entity that has passed a rigorous validation process and was signed with hardware which allows our systems to establish reputation for that entity more quickly than unsigned or non-EV code signed programs.
换句话说,EV(付费)验证只是决定是否显示 SmartScreen 警告的大型算法中的一个因素。如果您有很多人下载您的程序,或者您的程序下载链接在一段时间内没有更改,那么通过一些工作,您可以让您的程序不显示警告。此外,通过对代码进行数字签名,您可以提高应用程序声誉。这直接来自Microsoft's webpage on the topic .
关于windows-8 - 如何使 SmartScreen 筛选器信任自签名证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15538925/
有谁知道 SmartScreen 用于索引应用程序“声誉”的所有字段?它只是公钥吗?还有通用名,还是...? 就声誉连续性而言,我最感兴趣的是——我是否应该找到一个允许我在续订时重复使用相同公钥的 C
因此,我们的应用程序安装程序由我们的新证书(标准 [非 EV])签名。 SmartScreen 显示发布者正确,但应用程序仍然不受信任。所以问题在于应用程序声誉。 有什么方法可以建立声誉吗? 在一些旧
我定期制作软件供 friend 使用和完成学校任务。我将这些可执行文件上传到我的网站。但是当他们下载软件并执行它时,他们得到了这个错误 我知道您只需按“更多信息”即可解决此问题,但有没有办法完全阻止此
我现在有几个 WinForm 工具。我将它们发布在内部网站上。所以我的问题是,如果 SmartScreen 过滤器在 IE 中打开,则用户无法下载它们。他们收到“被阻止”的错误消息。如果它已关闭,则一
其实这个是微软出的一个危险网址过滤规则,在中国不太适用,例如51cto,我等正规的网站都被提示病毒,建议屏蔽 解决问题:IE→工具→SmartScreen筛选器→关闭SmartScreen筛选器,
Windows 8 下的 Microsoft SmartScreen Filter 是小型开发人员最可怕的噩梦。 虽然我意识到对最终用户的好处以及阻止恶意程序在最终用户的计算机上自行安装的有效性,但我
我正在使用标准(即不是 EV)Authenticode 代码签名证书来签署 Windows 桌面应用程序,希望 Smartscreen 过滤器最终会停止阻止它。 我希望 certify the app
我创建了一个应用程序,我想在 Windows 8 上作为桌面版本运行。我在 visual studio 中使用 installshield limited 创建了安装程序。现在,当我尝试在 Windo
我们提供了一个 Windows 程序,可从我们的网站下载为 InstallShield EXE。 当运行 IE9 的用户尝试下载并运行我们的软件时,他们会在屏幕底部看到以下消息: PROGRAMNAM
我了解代码签名。 但是当我尝试下载一些应用程序时,它甚至没有代码签名。 并且在没有Windows Defender蓝屏的情况下仍然可以打开。 示例:http://www.eainstall.com/d
我的公司开发了一种 IT 基础设施管理软件,我们主要在乌克兰使用。 我们的客户端应用程序安装程序可从我们的 FTP 服务器下载。 每当有人从我们的 FTP 下载 Install.msi 时,IE9 会
我已经创建了一个 setup.exe 文件并将其加载到我的网站上以供下载。 .exe 文件已使用来自 godaddy 的证书进行了代码签名。当使用 win7 从我的网站下载 .exe 文件时,它会检测
以某种方式与其他问题相关,但有所不同。 我有一个使用 SHA1 和 SHA256 证书 (Thawte) 进行双重签名的应用程序,正确地加了时间戳。证书没有足够的信誉,因此 SmartScreen 警
我用有效的 SHA-2 证书(Authenticode 和时间戳)对我的二进制文件进行了签名,但 Windows 10 上的 SmartScreen 仍然阻止它并且 Edge 报告“此文件的签名已损坏
我必须购买一个代码签名证书,用于签署 Win32 应用程序,我正在考虑是否选择一个 EV 证书。 我能够找到的 EV 证书的优点是: 立即建立 Smartscreen 信誉(而不是等待 3k 下载?[
我开发了一个非常简单的 Electron 应用程序,然后我使用“Electron package 器”对其进行了打包。 我压缩了应用程序并将其发送给我的客户。当此客户端运行该应用程序时,他会收到“Wi
我总是使用 Inno Setup 进行打包和发布。用户使用链接下载应用程序,例如:https://oursite.com/codesigned/mysetup.exe 到目前为止,它一直有效。但最近我
我开发一款在线游戏已经有一段时间了,最近我决定与我的一些 friend 分享它以进行测试。现在我决定为它制作一个安装程序,只是为了让游戏更容易/更有趣。我最初是用 Java 编写的,并使用 Lau
有没有办法使用JS来检查IE SmartScreen是否打开?我希望我的网站检查用户浏览器是否启用了 SmartScreen。如果不使用 JS 那怎么办?谢谢。 最佳答案 不,浏览器内没有可用的 Sm
在过去的 3 年里,我有一个代码签名证书。当我用它对我的软件进行签名时,该签名没有引起任何 SmartScreen从 Internet 下载软件时发出警告。 这个证书本月到期,所以我在同一家公司又续签
我是一名优秀的程序员,十分优秀!