VB6数字签名的EXE在Windows 8 SmartScreen中显示为未知发布者

VB6数字签名的EXE在Windows 8 SmartScreen中显示为未知发布者,vb6,windows-8.1,sign,signtool,Vb6,Windows 8.1,Sign,Signtool,我编译了一个VB6应用程序,编译后使用包含以下命令的批处理文件对其进行数字签名: signtool sign /f apt.pfx /p MyPassword d:\upload\service_pack_UK_BETA.exe 如果我右键单击EXE,我可以在文件属性中看到数字签名。但是,如果人们下载该文件并尝试在Windows 8中运行,他们会在SmartScreen中收到消息,表明该文件来自未知的发布者 我读过类似这样的文章,但他们推荐的解决方案无法在VB6中实现 如何对EXE进行签名,以

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

signtool sign /f apt.pfx /p MyPassword d:\upload\service_pack_UK_BETA.exe
如果我右键单击EXE,我可以在文件属性中看到数字签名。但是,如果人们下载该文件并尝试在Windows 8中运行,他们会在SmartScreen中收到消息,表明该文件来自未知的发布者

我读过类似这样的文章,但他们推荐的解决方案无法在VB6中实现

如何对EXE进行签名,以便SmartScreen接受它?

请参阅,特别是文章的最后两句话

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应用程序声誉

资料来源:

  • (提及SmartScreen应用程序的声誉)

谁是您钥匙的CA?如果根不可信,那么它确实会说它“未知”。TLDR,不要自行签名。这包括在PFX中吗?也是没有问题的。只是澄清一下,您是直接下载VB6可执行文件(您有链接吗?)还是包含该可执行文件的安装程序?我们有一个Inno编译的EXE来安装该产品。该EXE使用相同的证书签名,并在Windows 8中正常运行。“service pack”目前是一个直接下载的VB6 EXE文件,而不是另一个Inno编译的安装程序。因此,要回答您的问题,首先()不幸的是,这对我来说在Windows 7和Windows 8.1上都很好,而且SmartScreen检查中没有警告。它确实在下载窗口中显示了您的证书名,并且证书路径检查为ok(但与我们的CA根不同)。Andy的问题是关于“未知发布者”的,尽管已签名,但这实际上并没有回答“应该这样做”以外的问题。