首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装签名应用程序时,如何在Win8上传递智能屏幕?

安装签名应用程序时,如何在Win8上传递智能屏幕?
EN

Stack Overflow用户
提问于 2012-09-07 03:09:11
回答 9查看 63.6K关注 0票数 84

我们是开发者,我们有一个数字签名的应用程序安装程序。当我们安装这个应用程序时,它会弹出影响安装体验的智能屏幕。上面写着

Windows保护您的PC Windows SmartScreen阻止了一个未被识别的应用程序的启动,运行此应用程序可能会使您的PC处于危险之中。

我认为除了数字签名之外,微软还有一些策略来验证应用程序。有没有人有这个问题的经验,请给我一些线索来解决这个问题?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-09-07 05:59:38

如果您用从CA购买的证书在安装程序上签名,则应该与CA联系,以了解他们为何未能与Microsoft一起工作以消除此警告。

如果证书不是来自CA,而是来自自签名证书,则必须使用CA。

微软已经在其Windows团队博客上发布了大部分信息,

https://blogs.msdn.microsoft.com/ie/2012/08/14/microsoft-smartscreen-extended-validation-ev-code-signing-certificates/

最佳实践 开发人员仍然应该遵循我们在过去的博客文章中建议的最佳实践。我们在该指南中添加了通过Windows Store分发应用程序的附加选项和EV代码签名选项:

  • 通过Windows商店分发应用程序

Windows 8应用程序必须通过Windows开发人员上机和应用程序评审过程。Windows 8应用程序不在Windows 8中用于SmartScreen应用程序信誉检查或警告的范围内。

  • 对程序进行数字签名(标准或EV代码签名)

声誉生成并分配给数字证书和特定文件。数字证书允许将数据聚合并分配给单个证书,而不是多个单独的程序。虽然不是必需的,但由EV代码签名证书签名的程序可以立即在SmartScreen信誉服务中建立声誉,即使该文件或发行者先前没有信誉。EV代码签名证书也有一个唯一的标识符,这使得在证书更新中维护声誉变得更加容易。只有由作为Windows根证书程序成员的CA颁发的Authenticode证书才能建立声誉。

此时,赛门铁克和DigiCert正在提供EV代码签名证书。

  • 不要签署或分发恶意代码

分发被检测为恶意的代码将从文件中删除声誉,并从相关的数字证书中删除任何声誉--即使使用EV代码签名证书签名。

  • 申请Windows Logo或Windows 8桌面应用程序认证

在这里了解更多关于这些程序的信息: Windows 8桌面应用程序认证( Windows商店提交所需) Windows Logo程序

票数 47
EN

Stack Overflow用户

发布于 2015-02-06 05:44:40

我们刚刚完成了从一个旧的 Authenticode证书到一个新的证书(不是EV证书,只是一个可以在我们的自动构建过程中使用的普通证书)的整个过程。

Microsoft不再提供将声誉从现有证书转移到新证书的任何方法。所以不要试图呼吁他们的支持。你只会浪费很多时间和精力。他们也帮不上忙。

微软声称,如果新旧证书的文本内容相同,声誉就会更快地建立起来。更具体地说,下面是我从SmartScreen过滤器的应用程序声誉特性支持团队获得的答复:

请注意,每当您以已知的声誉续订证书时,您可能会在使用更新的证书签署的文件的初始下载过程中看到一些警告。但是,更新证书上的已知声誉通常比在新证书上建立的速度更快。当更新的证书建立声誉时,用户仍然可以单击以运行或保存下载。要做到这一点,他们从下载管理器中选择了Actions {多个选项>运行。

确保SmartScreen不会警告用户的最佳方法是运行 (WACK),它应该包含在Windows下载中:

在运行测试之后,WACK解释了如何进行:

将成功应用程序证书的XML结果上载到https://sysdev.microsoft.com。几天后,SmartScreen将知道用于认证程序的数字签名,并且不再在下载时警告用户。

Note我们无法在Windows8.1的最新更新上验证我们的应用程序,我们必须使用Windows8.1的干净安装才能使WACK成功地验证我们所有的程序。

票数 48
EN

Stack Overflow用户

发布于 2012-09-07 06:03:13

我已经寻找了一段时间了,所以我将分享我到目前为止所发现的。

我还没有从微软的Windows 8中找到任何关于这个特性的文档,但我可能只是找错地方了。

我阅读的大多数文章都讨论了SmartScreen过滤器的工作方式如下:

  • 在运行下载的安装程序或可执行文件之前,Windows 8将与数据库进行协商。
  • 数据库可以报告该程序是否为:
    • 报告为恶意/钓鱼(并由Microsoft员工验证)。
    • 被许多人使用/经营。

如果有足够多的人运行该安装程序,而没有报告它是恶意的,最终该程序将被标记为安全,其他用户将不会收到恼人的消息。

一些来源:(here) (here)

用户安装程序时发送给Microsoft的信息包括IP地址、安装程序的散列和数字签名,可能还包括应用程序的文件名。(see here)

Microsoft员工可以直接访问数据库,以添加和标记安全的所有Microsoft应用程序。

也许微软已经设置了一种方法来预先验证你的安装程序,如果不是的话,你可能只需要等待足够多的人运行安装程序。(但不确定会有多少)。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12311203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档