从IE

时间:2016-01-15 11:07:46

标签: c# internet-explorer certificate

我获得了Certum证书以签署我的C#应用​​程序。一切似乎都没问题,我可以执行该应用程序,并在其上看到有效的证书。

但是,如果我将其上传到我的网页(使用Visual Studio发布或上传EXE),我无法在Windows7上使用Internet Explorer下载它。我总是得到这样的信息:“签名已损坏或无效”。但是一旦它在PC上,它似乎是有效的。我知道,IE在2013年有一个错误,但应该解决。

在Windows 10上,Smartscreen也阻止了这个exe,我无法下载它。我付了这个证书证明我的应用程序是安全的,现在我遇到了比以前更多的问题:(

我不知道我是否可以在此处插入指向我的应用程序的链接。

编辑:我在Microsoft找到了这个文档: http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx - 似乎微软与IE(以及谷歌与Chrome)不再允许下载SHA-1签名的应用程序,因为它不够安全.1 / 1。

3 个答案:

答案 0 :(得分:3)

好的,现在我可以说:没有解决方案

至少目前(2016年1月)。

  1. 所有新证书必须在Windows7 / 8和Windows 10
  2. 上具有SHA-2哈希值
  3. Certum 没有针对OpenSource选项的SHA-2证书自2月起,Certum的OpenSource证书也有SHA-2哈希的可能性!
  4. 因此,如果要为WindowsXP创建应用程序,可以使用Certum的开源标志。如果您想为自己的应用程序签署新的操作系统,只要购买Certum OpenSource证书,您就只能省钱!

答案 1 :(得分:1)

我不得不删除KB3124263(已在14日为我安装)以返回功能: - (

答案 2 :(得分:0)

即使我的代码签名证书有SHA2哈希,但在IE / Edge中下载文件时仍然会出现无效或损坏的签名错误。

显然,还要求代码签名证书由具有SHA2哈希值的CA颁发。

在联系Verisign / Symantec支持后,他们将我引导至以下指南以重新颁发我的证书:

这将我的中间CA从“VeriSign Class 3 Code Signing 2010 CA”(SHA1)更改为“Symantec Class 3 SHA256 Code Signing CA”(SHA256),现在IE / Edge不会报告任何错误