加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 从网站下载后文件上的数字签名

发布时间:2020-12-16 09:48:13 所属栏目:asp.Net 来源:网络整理
导读:我开发了一个软件应用程序,并使用从Verisign(现在是Symantec)获得的Authenticode证书对我的安装程序进行了数字签名.我使用Visual Studio附带的signtool.exe实用程序签署了安装程序(.exe).当我运行安装程序时,它现在说我的公司名称是发布者,而不是“未知”,这
我开发了一个软件应用程序,并使用从Verisign(现在是Symantec)获得的Authenticode证书对我的安装程序进行了数字签名.我使用Visual Studio附带的signtool.exe实用程序签署了安装程序(.exe).当我运行安装程序时,它现在说我的公司名称是发布者,而不是“未知”,这是我的目标….成功!

然后我在我的网站上发布了安装程序文件,以便分发给我的客户.该文件由asp:按钮提供,该按钮在单击时执行以下代码:

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客户端将文件直接从我的Web服务器复制到我的计算机,并且下载的文件是HAD THE SIGNATURE(即没有显示发布者:未知),所以显然Web服务器上的文件很好.它必须是通过网站下载文件的过程,剥离或使数字签名无效.我尝试了Firefox和IE,并得到了相同的结果.

我究竟做错了什么?提前感谢你的帮助.

解决方法

可能是某些HTML被写入响应流,破坏了下载.试试这个:
在调用TransmitFile之前,请添加

Response.Clear();

调用TransmitFile后,添加

Response.SuppressContent = "true";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读