3

我已经为 Windows 制作了一个应用程序,每次通过打开可执行文件运行该应用程序时,我都会在 Windows 中收到“Publisher Unverified”警告。如果我是这个应用程序的唯一受众,那很好,但事实并非如此。有什么方法可以对我的应用程序进行编程,以使该消息不会显示给用户。

4

3 回答 3

3

做到这一点的唯一方法是从受信任的来源获取和使用代码签名证书。Microsoft 将此称为Authenticode

不幸的是,对于这个小家伙来说,这些成本。威瑞信每年以大约四英镑的价格出售他们的产品。

以下是您应该阅读有关 Authenticode 的一些起点:

http://msdn.microsoft.com/en-us/library/ms537359(VS.85).aspx
http://technet.microsoft.com/en-us/library/cc750035.aspx
http://msdn.microsoft .com/en-us/library/aa379872(VS.85).aspx

部分证书经销商:

http://www.verisign.com
http://www.thawte.com
http://www.globalsign.net
http://www.geotrust.com

于 2009-09-15T15:36:41.050 回答
2

对于更便宜的代码签名证书,您可以使用 Comodo。有一个名为 KSoftware 的经销商以 99 美元/年的价格出售他们的证书:

http://www.ksoftware.net/code_signing.html

几年前我用过它们,没有任何问题。

然后,您可以使用 .net SDK 中的 SignTool 对您的 EXE 文件进行签名。这里有一个教程:

http://www.tech-pro.net/code-signing-for-developers.html

于 2009-09-15T15:46:02.140 回答
2

我认为有办法解决这个问题。我们需要为可执行文件添加数字签名。添加数字签名的方法在以下位置进行了很好的概述,

基本上,我们将使用 OpenSSL 创建我们自己的数字签名,然后使用 Microsoft 的 SignTool 应用程序将其添加到我们的可执行文件中。

于 2009-09-15T15:46:45.867 回答