5

我公司终于买了一个代码签名证书。

我有一个 WinForms 应用程序(1 个 exe 和几个 dll),所有程序集都已经用强名称签名。然后将整个应用程序打包到一个 msi 安装程序中。然后我使用 NSIS 将 msi、引导程序和先决条件(框架、SQL CE...)打包到一个 setup.exe 中。

显然我的 setup.exe 需要签名,以避免“可怕的”UAC 提示。这是否足够,或者您还会签署其他文件,尤其是 .NET 程序集吗?

属于该应用程序的另一个项目是 Windows 服务。你会签署那个大会吗?

4

1 回答 1

5

您不必这样做,但这不是一个坏主意。

创作完全验证的签名安装

您可以使用这些准则通过数字签名涵盖整个 Windows Installer 安装。

Windows Installer 安装的作者必须遵守以下规定,以确保安装的所有部分都包含在数字签名中:

  • 使用内部cabinet 文件,或使用签名的外部cabinet 文件并正确创作MsiDigitalSignature 表和MsiDigitalCertificate 表。
  • 仅使用存储在包中或随包一起安装的自定义操作。
  • 签署安装包。
  • 在包中包含一个 MsiPatchCertificate 表。要启用用户帐户控制 (UAC) 补丁,此表必须包含用于识别用于对补丁进行数字签名的签名者证书的信息。UAC 补丁使安装包的作者能够识别非管理员用户将来可以应用的数字签名补丁。

上面的说明涵盖了您需要为安装程序本身做的事情。签署程序集取决于您,并且在某种程度上是一个单独的问题,并且具有单独的关注点和好处。请阅读强名称程序集可以让您远离 DLL 地狱,了解有关签署程序集的更多信息。

于 2009-06-04T14:17:26.450 回答