我编译了一个VB6应用程序,并在编译后使用包含此命令的批处理文件对其进行数字签名:
signtool sign /f apt.pfx /p MyPassword d:\upload\service_pack_UK_BETA.exe
如果我右键单击EXE,我可以在文件属性中看到数字签名。但是,如果人们下载该文件并尝试在Windows 8中运行它,则会在SmartScreen中收到来自Unknown Publisher的消息。
我读过这篇文章http://social.msdn.microsoft.com/Forums/windows/en-US/00813d25-d258-40d8-b03a-c4468959f311/smartscreen-shows-unknown-publisher-even-though-signed-correctly-using-a-trusted-certificate?forum=winformssetup,但他们推荐的解决方案无法在VB6中实现。
如何签署EXE以便SmartScreen接受它?
答案 0 :(得分:1)
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维护有效且受信任的发布者证书列表(以及是否经常遇到签名文件)。当遇到新的发布者证书时,即使证书链良好且受信任,它也不会被添加到受信任的发布者列表中,直到有足够的命中保证,Microsoft称之为SmartScreen应用程序信誉。
来源: