2012-02-09 180 views
0

我想在一台服务器上使用多个SSL证书。在过去,只有当你有更多的IP指向它时才有可能。现在我读到了SNI,它可以实现这一点,尽管它只能在客户端的实际浏览器上支持。我总是阅读SNI的先决条件,至少需要Apache版本2.2.12和OpenSSL 0.9.8f。与SNI的CA证书?

那么我可以使用Thawte,Verisign或其他认证机构的证书吗?这些证书不是OpenSSL,是吗?

回答

1

服务器名称指示是客户机告诉服务器正在请求哪个主机名的机制,以便服务器可以选择将哪个证书发送给客户机(如果它具有多个)。证书的颁发者并不重要。

客户端和服务器都必须支持SNI扩展才能工作。这就是为什么如果你使用OpenSSL的Apache服务器,你需要支持它的版本。客户端支持并不限于浏览器(最新版本的cURL也应该支持SNI),并且这取决于浏览器/平台。

1

您将OpenSSL混合为加密库和使用OpenSSL创建的证书。 SNI是关于SSL的,证书不是SSL - 它们是独立的实体,通常由SSL使用。

对于SNI的工作,你需要一个服务器和一个客户端都支持SNI。但是,使用什么证书并不重要(或者您是否使用证书)。

+0

好的。所以我需要OpenSSL库来进行SSL连接,并且与创建证书无关? – m0tv 2012-02-09 13:03:10

+0

@ m0tv由于您要购买第三方证书,因此您不需要使用OpenSSL来生成证书(尽管技术上OpenSSL包含用于生成X.509证书的函数)。 – 2012-02-10 07:14:26