我想在一台服务器上使用多个SSL证书。在过去,只有当你有更多的IP指向它时才有可能。现在我读到了SNI,它可以实现这一点,尽管它只能由客户端的实际浏览器支持。我总是阅读SNI的先决条件,至少需要Apache 2.2.12和OpenSSL 0.9.8f。
我可以使用Thawte,Verisign或其他证书颁发机构的证书吗?这些证书不是OpenSSL,是吗?
答案 0 :(得分:1)
服务器名称指示是客户端告诉服务器它请求哪个主机名的机制,以便服务器可以选择要发送给客户端的证书(如果它有多个)。证书的发行人无关紧要。
客户端和服务器必须支持SNI扩展才能使用。这就是为什么,如果您使用的是带有OpenSSL的Apache服务器,则需要支持它的版本。客户端支持不仅限于浏览器(cURL的最新版本也应支持SNI),具体取决于浏览器/平台。
答案 1 :(得分:1)
您已将OpenSSL混合为加密库和使用OpenSSL创建的证书。 SNI与SSL有关,证书不是SSL - 它们是独立的实体,通常由SSL使用。
要使SNI正常工作,您需要让服务器和客户端都支持SNI。但是,使用哪种证书(或者根本不使用证书)并不重要。