嵌入式网络服务器和证书

时间:2009-04-13 17:10:03

标签: ssl certificate openssl ssl-certificate self-signed

我有一个带嵌入式网络服务器的应用。此Web服务器现在可以通过OpenSSL包执行SSL:)

现在来到证书问题。这个应用程序已售出,我说这是因为它不只是坐在我拥有的服务器上 - 它安装在数千台计算机上。我希望我的客户安全,所以我希望他们尽可能轻松地使用SSL。现在我们创建自己的CA,然后创建自签名证书。这意味着我们所有的客户(及其用户)都需要安装他们的自定义安装CA,或者使用来自证书的不受信任的根警告,这两者都不具吸引力。

如何解决这个问题?

我们要么:

  1. 安装我们的CA(浏览器故意使用非常困难 - 很多scarey警告对话框),这很简单。
  2. 以某种方式获得所有这些客户证书,这些证书由浏览器认可的CA合法签名。
  3. 强制客户购买自己的证书并安装
  4. 我不知道我们将如何做#1,所以我们正在看#2。 #3几乎是不可能的。

    我们可以购买SSL证书并将其与我们的产品一起发货 - 是的,每个人都使用相同的证书,证书和私钥可以/将泄露到公共领域。嗯...可能不希望我们的名字出于责任而... ...

    我想问题是我们首先反对CA的目的。有关如何使用户轻松安全的任何想法? (假设中间人攻击不是一个问题 - 有人曾经记录过吗?)

1 个答案:

答案 0 :(得分:1)

没有简单的解决方案。如果这很容易解决,SSL证书系统的安全性就会很差。

正如您所说,您的选择受限于如何避免浏览器警告。根据应用的不同,每种方法都可能很好。

<强> 1。在客户端浏览器上安装根CA

如果在内部使用应用程序或者希望客户端安装某些东西来使用该应用程序,这是一个合理的解决方案。这可能也是成本最低的解决方案,因为不需要额外费用。但是,如果该应用程序将被广大民众使用,那么这不是一个合理的解决方案。

<强> 2。购买商业根CA签名证书

如果您的应用程序对互联网开放,则很可能需要这样做。但是,如果您正在销售应用程序而不是简单地提供其服务,那么由于您提到的责任原因,这可能不太好。

第3。让客户购买他们自己的商业根CA签名证书

如果您的应用程序被出售以供客户使用,这可能是合理的。您可以使用自签名证书作为基本选项提供应用程序,并根据需要提供给您的客户使用其证书。许多公司已经为其网站提供了SSL证书。

相关问题