我已经创建了一个从Visual安装项目生成的Setup.exe文件。我有一个代码签名证书,我的公司购买从Digicert,我们已经使用了其他产品,所以它应该是好的。我已经设置了一个构建后事件来对我的应用程序进行签名,并且我使用signtool.exe对结果的.msi和setup.exe进行签名,所以所有的东西都应该成功地签名。如果我运行任何类型的签名验证,或者查看文件属性,它将显示我的数字证书。
如果我在IIS (8.5)中承载此Setup.exe文件,允许目录浏览,并设置MIME类型以允许下载该文件,则可以从浏览器将此Setup.exe文件下载到我的计算机。如果我运行它,我会得到一个Windows过滤器,说它是一个未被识别的应用程序。下面写的是出版商是未知的。如果没有通过IIS下载相同的setup.exe文件,例如从一台计算机复制到另一台计算机并执行,则不存在SmartScreen筛选器。因此,这个问题似乎是由IIS下载引起的。有办法解决这个问题吗?
发布于 2016-04-01 21:47:02
我发现了问题所在。根据本文:http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx
它解释说,从2016年1月1日开始,MS将不再信任用SHA-1代码签名证书签署的新代码,这正是我所使用的。我换了一个新证书,问题解决了。
https://stackoverflow.com/questions/36321222
复制相似问题