Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 无法在使用Visual Studio生成的.NET应用程序上具有数字签名_Visual Studio 2010 - Fatal编程技术网

Visual studio 2010 无法在使用Visual Studio生成的.NET应用程序上具有数字签名

Visual studio 2010 无法在使用Visual Studio生成的.NET应用程序上具有数字签名,visual-studio-2010,Visual Studio 2010,我试图了解.NET应用程序的签名过程。我正在使用Visual Studio 2008和2010,在projet的属性页上有一个名为签名的选项卡页。我相信此页面允许我签署ClickOnce清单和/或程序集。在客户端计算机上安装我的应用程序后,我希望exe文件已签名,但事实似乎并非如此(右键单击客户端计算机上已安装的.exe文件并选择“属性”,我们没有任何数字签名选项卡) 经过一些搜索后,我读到了以下内容:VisualStudio项目的“属性”页面下的“签名”选项卡允许您对ClickOnce清单进行

我试图了解.NET应用程序的签名过程。我正在使用Visual Studio 2008和2010,在projet的属性页上有一个名为
签名的选项卡页。我相信此页面允许我签署ClickOnce清单和/或程序集。在客户端计算机上安装我的应用程序后,我希望exe文件已签名,但事实似乎并非如此(右键单击客户端计算机上已安装的.exe文件并选择“属性”,我们没有任何数字签名选项卡)

经过一些搜索后,我读到了以下内容:VisualStudio项目的“属性”页面下的“签名”选项卡允许您对ClickOnce清单进行签名,以及对程序集执行强名称签名。但是,它与对应用程序的可执行文件进行签名无关

有人能解释为什么通过VisualStudio签名不会在我的.exe文件上提供数字签名吗


提前感谢。

ClickOnce应用程序清单的Authenticode签名用于验证应用程序发布者的真实性,并确保ClickOnce应用程序自签署以来未被篡改

在ClickOnce中,签名的是应用程序和部署清单,而不是可执行文件。这是因为这些组件将用于安装和启动应用程序。可执行文件仅在安装并启动应用程序后运行。如果签名后更改了任何可执行文件(或清单),则应用程序将不会运行

如果希望,也可以使用生成后步骤对应用程序的可执行文件进行签名,但这不是提供ClickOnce使用的Authenticode完整性检查所必需的


编辑:为了回答您的评论,我将使用程序集强名称来提供管理员执行其策略所需的证据。它简单有效。

谢谢您的回复。为什么我要签署我的可执行文件?因为网络管理员希望制定一个策略,只允许完全信任“特定”可执行文件。那么我能做的最好的是什么?使用生成后步骤对我的可执行文件进行签名(数字签名)?或者在我的程序集上设置一个强名称,并要求管理员将其策略基于此强名称?无论如何,谢谢你。