1

我已经编译了一个 VB6 应用程序,并在编译后使用包含以下命令的批处理文件对其进行数字签名:

signtool sign /f apt.pfx /p MyPassword d:\upload\service_pack_UK_BETA.exe

如果我右键单击 EXE,我可以在文件属性中看到数字签名。但是,如果人们下载该文件并尝试在 Windows 8 中运行它,他们会在 SmartScreen 中收到来自未知发布者的消息。

我已经阅读了诸如此类的文章http://social.msdn.microsoft.com/Forums/windows/en-US/00813d25-d258-40d8-b03a-c4468959f311/smartscreen-shows-unknown-publisher-even-though-正确签名-使用-a-trusted-certificate?forum=winformssetup但他们推荐的解决方案无法在 VB6 中实现。

如何签署 EXE 以便 SmartScreen 接受它?

4

1 回答 1

1

请参阅http://blogs.msdn.com/b/vsnetsetup/archive/2013/01/09/windows-smartscreen-prevented-an-unrecognized-app-from-running-running-this-app-might-put-your -pc-at-risk.aspx,特别是帖子的最后两句

Once this is done, the SmartScreen will continue to warn about the application
until the certificate develops a reputation. But it would display a valid
publisher name instead of unknown publisher.

Windows 8 中的 SmartScreen 维护一个有效且受信任的发布者证书列表(以及签名文件是否经常遇到)。当它遇到一个新的发布者证书时,即使证书链良好且受信任,它也不会被添加到受信任的发布者列表中,直到有足够的命中证明它,微软称之为 SmartScreen 应用程序信誉。

资料来源:

于 2014-08-08T01:31:07.560 回答