-1

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

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

有人能解释一下为什么通过 Visual Studio 签名没有在我的 .exe 文件上给出数字签名吗?

先感谢您。

4

1 回答 1

0

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

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

如果您希望使用构建后步骤来签署应用程序的可执行文件,也可以这样做,但这不是提供 ClickOnce 使用的 Authenticode 完整性检查所必需的。

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

于 2012-06-16T16:17:30.703 回答