我开发了一个软件应用程序,并使用从 Verisign(现为 Symantec)获得的 Authenticode 证书对我的安装程序进行了数字签名。我使用 Visual Studio 附带的 signtool.exe 实用程序对安装程序 (.exe) 进行了签名。当我运行安装程序时,它现在将我的公司名称显示为发布者,而不是“未知”,这是我的目标....成功!
然后我在我的网站上发布了安装程序文件以分发给我的客户。该文件由一个 asp:button 提供服务,单击该按钮将执行以下代码:
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment; filename=CP11Full_x86.exe");
Response.TransmitFile(Server.MapPath("~/Software/ContainmentPlanner/Files/CP11Full_x86.exe"));
HttpContext.Current.ApplicationInstance.CompleteRequest();
当我从我的网站下载安装程序文件并运行它时,发布者字段显示“未知”!!!然后我使用 FTP 客户端将文件直接从我的网络服务器复制到我的计算机,下载的文件有签名(即没有显示发布者:未知),所以显然网络服务器上的文件很好。它一定是关于通过网站下载文件的过程,该过程会去除或使数字签名无效。我尝试了 Firefox 和 IE 并得到了相同的结果。
我究竟做错了什么?提前感谢你的帮助。