首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SSL握手之前,我可以从HTTPS读取域名吗?

问在SSL握手之前,我可以从HTTPS读取域名吗?
EN

Security用户
提问于 2016-02-10 03:02:56
回答 3查看 4.4K关注 0票数 12

我正在研究是否可以通过HTTPS在一个服务器上托管多个域,但是对于每个域,我有一个不同的证书。

在这种情况下,我需要知道传入连接的域,所以在SSL握手的第一部分,它是否有我需要的信息来为该域发回正确的证书?

EN

回答 3

Security用户

回答已采纳

发布于 2016-02-10 03:08:22

是的,只要服务器和客户端支持服务器名称指示(或SNI)扩展.此扩展允许对HTTPS进行虚拟托管,其中您有多个独立的域和绑定到单个IP地址的证书。

如今,大多数客户都支持SNI。您可能会遇到问题的地方是,如果您有使用Windows、旧版本的Android或Java 6等平台的老客户端。

票数 26
EN

Security用户

发布于 2016-02-10 05:58:22

没有SNI,域首先以明文形式出现在TLS握手的Server中(在证书字段的rdnSequence中)。

对于SNI,域首先以明文形式出现在TLS握手的客户端Hello中(在SNI字段中)。

来源:我用TLS启动了apache2,并在实现SNI (apache2中的虚拟主机)之前和之后捕获了数据包。

票数 9
EN

Security用户

发布于 2016-02-10 12:06:56

除了SNI之外,还有一个获得多域证书的选项。有几个证书提供商提供这样的证书(不是为任何人代言,Google是您的朋友)。

使用多域证书,您不需要在握手开始时知道域名,因为证书对列出的所有域名都有效。

下面是关于这样的证书是如何样子的示例:

票数 8
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/113267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档