在ClickOnce部署中使用证书对应用程序进行签名

时间:2012-04-13 16:34:58

标签: windows certificate clickonce

对于我的基于Windows的应用程序,我想使用ClickOnce作为部署技术。我的申请将通过互联网分发。

在文章ClickOnce and Authenticode中,我读到了:

  

对于ClickOnce应用程序,您必须拥有Authenticode证书   这对代码签名有效。您可以获取代码证书   以三种方式之一签署:

     
      
  1. 从证书供应商处购买。

  2.   
  3. 从您组织中负责创建的组中接收一个   数字证书。

  4.   
  5. 使用附带的MakeCert.exe生成您自己的证书   使用Windows软件开发工具包(SDK)。

  6.   

就我而言,第2号不适用。

我后来读了几行:

  

默认情况下, ClickOnce应用程序使用自我证书进行签名并部署   通过Internet 无法使用受信任的应用程序部署。

(强调我的。)

默认情况下我无法理解的含义。在我的情况下,选项#3是否可能?

然后,要了解所有可能性,#1意味着什么? (“从证书供应商处购买一件”)我应该购买什么样的证书?哪个certificate authority可以推荐?取决于我应该选择什么?证书需要多少钱?

2 个答案:

答案 0 :(得分:10)

它必须是“Microsoft Authenticode证书”。它允许我们签署各种Windows可执行文件和代码,包括.exe.cab.dll.ocx.xpi文件。

签署申请并非强制性要求,但如果我们这样做,我们的用户将不会看到一条警告消息,指出该软件的作者未知。

Microsoft Authenticode证书需要由受信任的证书颁发机构颁发。不幸的是,价格相当昂贵。更多信息和一些例子 在页面 Microsoft Authenticode Certificates

更新我通过KSoftware零售商Comodo购买了证书。与替代品相比,价格非常好:每年95美元。这个过程比我预期的要快:我在早上和晚上都申请了我的证书。 (对于那些感兴趣的人,我跟着this step-by-step guide。)

答案 1 :(得分:1)

请参阅my answer to Stack Overflow question How to sign a ClickOnce application

我肯定会建议获得正确的代码签名证书 - 在这种情况下,您的应用程序安装屏幕看起来会更好。就个人而言,我从http://startssl.com获得了我的代码签名证书 - 总共是100美元左右(你获得了网站的外卡证书以及奖金)。它比使用VeriSignTrustWave便宜得多。