自动安装:使用证书进行自签名的ClickOnce清单 > 需要应用程序在客户端计算机上安装根CA并将其信任

3
ClickOnce是为了分发使用签名证书。如果我正在开发一个重要的应用程序,我可以理解购买证书的必要性。然而,我的应用程序面向的是一个小型公司,我无法证明这样的花费是合理的。
我的问题是,当我的应用程序首次安装时,如何自动将我的自签署根CA安装到受信任的根证书中,以便我的自签署程序没有任何问题?
我的当前自签署CA根证书和程序证书是在Exchange 2010/IIS 7.0和OpenSSL之间设置的。客户端将是远程的,因此我不想使用Microsoft的证书颁发机构。您可以在http://www.tekcrack.com/creating-your-own-self-signed-sans-certificate-for-exchange-2010-and-iis-70-1of3.html上查看我开发证书的方法。
有没有遇到同样问题的人?你采取了什么措施来克服它...免费的方式?
1个回答

1

我不确定那个证书是否适用于ClickOnce部署。你需要的是一个代码签名证书。我认为你可以从GoDaddy购买一个不到一百美元的证书,这对于让你的客户获得信任发布者的温暖感觉来说相当便宜。

如果你的客户有域管理员和任何形式的中央IT组,他们可以为你创建一个受信任的证书。

你不能在用户的计算机上以编程方式安装证书。ClickOnce应用程序将没有那种级别的特权。你必须让客户安装证书。此外,如果人们能够在用户不知情的情况下安装证书,这将是一个巨大的安全漏洞。

最后,我的建议是确保你的证书受到密码保护,没有人能够拿到它。如果他们拿到了证书,并且该证书已经安装在用户计算机的存储库中,他们将能够以你的名义在用户计算机上安装应用程序。

说了这么多,我认为这篇文章会对你有所帮助:

http://msdn.microsoft.com/en-us/library/ms996418.aspx#clickoncetrustpub_topic1


又一个原因让我相信我会避开ClickOnce……谢谢提供的信息。我想在这一点上还是坚持自己制作更新/安装程序。 - ThaKidd KG5ORD
当然,我明白。对于ClickOnce来说,最好的解决方案是从第三方获得有效证书,或者让网络团队创建一个(通常在企业环境中)。当然,您会失去ClickOnce最有价值的功能,即增量更新和确保用户运行特定版本的能力。无论如何,祝你好运! - RobinDotNet
另外一件事是,您可以使用自己创建的证书进行签名,并让用户知道这就是为什么会显示“未知发布者”的原因。由于他们认识您(我想),并不只是在网页上随意点击某个链接,所以他们可能会觉得没问题。ClickOnce 使用证书、签署清单和文件的自动哈希来确保文件没有被篡改,部署也没有被劫持。因此,即使证书不是来自证书颁发机构,仅仅进行签名也增加了一层安全性。 - RobinDotNet
只是提供信息,它只在用户第一次安装应用程序时显示提示。在接收更新时,它不会提示;它会假设一切都好,因为已经安装了。现在你对C/O部署的了解可能比你想知道的还要多。 :-) - RobinDotNet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接