12

我们制作了一个内容管理系统。它是一个基于数据库的系统,仅供企业和组织使用,永远不能从 Internet 下载。也就是说,它不是那种有人可能会偶然发现并想知道它是什么以及它是否可以安全运行的软件。在我们销售系统的 20 多年中,它的可执行文件从未经过数字签名。我们是时候开始签署它们了吗?

对于初学者,我可以想到一些优点和缺点:

  • Pro:如果使用 Verisign 证书,可以使用Windows 错误报告
  • 优点:当 Windows Vista 和 Windows 7 显示其中一个令人讨厌的UAC消息时,已签名的应用程序会更好地呈现
  • 缺点:证书要花钱。不是很多,但如果它们没用那就太多了
  • 缺点:签名有一些维护开销,我不知道有多少。
4

3 回答 3

4

Pro:如果使用 Verisign 证书,可以使用 Windows 错误报告

实际上,要使用 Windows 错误报告,您需要 Verisign 或其他代码接受的签名证书,但您只需要该证书才能访问 WinQual 系统。exe 本身根本不需要签名,错误报告在未签名的 exe 上也可以正常工作。

缺点:签名有一些维护开销,我不知道有多少。很想从你这里...

维护开销很大程度上取决于构建管道的质量。如果您手动构建您的应用程序,那么是的,这意味着更多的步骤。但是,如果您有构建管道并且您的构建是自动化的,代码签名意味着在构建脚本中添加几行并存储代码签名证书的私钥,以便构建可以访问它(如果您有构建服务器,您的代码签名证书很可能需要存储在上面)。

专业人士:当 Vista/7 显示其中一条令人讨厌的 UAC 消息时,已签名的应用程序会更好地呈现

至于 UAC 提示 - 您的应用程序真的需要提升或管理员权限才能运行吗?避免此提示的最佳方法是根本不需要任何提升的权限。

于 2010-02-22T09:57:10.333 回答
2

从技术方面,您已经说明了利弊。

从业务的角度来看,这取决于您的用户,也许如果您在销售 B2B,那么如果您在销售 B2C 或向不太精明的用户销售更好的 UAC 信息,这并不重要。

老实说,我不会担心....如果您没有冲动并且找不到真正好的理由,那么它并不重要。

我宁愿把这些努力花在改进其他东西上。

于 2010-02-22T16:43:09.513 回答
0

Signing has some maintenance overhead, how much I don't know.

I believe if you distribute signed executables, all dependent libraries have to be signed as well. If you're using some third-party modules over which you have no control, you can get an issue.

于 2010-02-22T09:16:26.290 回答