自动安装:使用证书自签名ClickOnce清单>需要应用程序在客户端PC上的受信任根证书安装根CA

问题描述:

ClickOnce假定使用签署证书进行分发。如果我正在开发一个主要的应用程序,我可以理解购买一个证书。但是,我的应用程序适用于小型公司,我无法证明这是昂贵的。自动安装:使用证书自签名ClickOnce清单>需要应用程序在客户端PC上的受信任根证书安装根CA

我的问题是,当我的应用程序第一次安装时,我如何自动将自签名的根CA安装到受信任的根证书中,以便我的自签名程序没有问题?

我在Exchange 2010/IIS 7.0和OpenSSL之间设置了我当前的自签名CA Root和程序证书。客户端将是远程的,所以我不想使用微软的证书颁发机构。你可以看到我如何开发证书http://www.tekcrack.com/creating-your-own-self-signed-sans-certificate-for-exchange-2010-and-iis-70-1of3.html

有没有人遇到同样的问题?你采取了什么路线来解决这个问题......免费?

我不知道该证书是否适用于ClickOnce部署。你需要的是一个代码签名证书。我认为你可以从GoDaddy购买一个价格不到一百美元的产品,这对于让你的客户拥有一个值得信赖的出版商的良好温暖感十分便宜。

如果您的客户有一个域管理员和任何类型的*IT小组,他们可以为您创建一个值得信赖的证书。

您无法以编程方式在用户计算机上安装证书。 ClickOnce应用程序将不具有该级别的特权。您必须让客户安装证书。另外,如果人们可以在用户不知情的情况下安装证书,这将是一个巨大的安全漏洞。

还有我最后的智慧之语 - 确保你的证书是密码保护的,没有人能够接受它。如果他们这样做,并且证书安装在用户计算机的商店中,他们将能够以您的名义在用户的计算机上安装应用程序。

说了这一切,我认为这篇文章将有助于你:

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

+0

又一个原因,我相信我会避开的ClickOnce的... thanx的信息。我想我会坚持我的角色 - 你自己的更新/安装程序在这一点上。 – 2010-07-03 18:02:32

+0

当然,我明白。 ClickOnce的最佳解决方案是获得来自第三方的有效证书,或让网络人员创建一个(通常在公司环境中)。当然,您会失去ClickOnce最有价值的功能,即增量更新,并且能够确保用户运行特定版本。无论如何,祝你好运! – RobinDotNet 2010-07-04 03:08:41

+0

另一件事是你可以用自己创建的证书签名,让用户知道这就是为什么它说“未知的出版商”。既然他们知道你本人(我假设),并且不只是点击网页上的一些随机链接,他们可能会很好。证书,签名清单和文件的自动散列都由ClickOnce使用,以确保文件不被篡改,并且部署没有被劫持。所以只需签名即可添加安全级别,即使它不是来自证书颁发机构。 – RobinDotNet 2010-07-04 03:10:57