对于我的基于Windows的应用程序,我想使用ClickOnce作为部署技术。我的申请将通过互联网分发。
在文章ClickOnce and Authenticode中,我读到了:
对于ClickOnce应用程序,您必须拥有Authenticode证书 这对代码签名有效。您可以获取代码证书 以三种方式之一签署:
从证书供应商处购买。
从您组织中负责创建的组中接收一个 数字证书。
- 醇>
使用附带的MakeCert.exe生成您自己的证书 使用Windows软件开发工具包(SDK)。
就我而言,第2号不适用。
我后来读了几行:
默认情况下, ClickOnce应用程序使用自我证书进行签名并部署 通过Internet 无法使用受信任的应用程序部署。
(强调我的。)
默认情况下我无法理解的含义。在我的情况下,选项#3是否可能?
然后,要了解所有可能性,#1意味着什么? (“从证书供应商处购买一件”)我应该购买什么样的证书?哪个certificate authority可以推荐?取决于我应该选择什么?证书需要多少钱?
答案 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美元左右(你获得了网站的外卡证书以及奖金)。它比使用VeriSign或TrustWave便宜得多。