首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTPS客户端-证书

问HTTPS客户端-证书
EN

Stack Overflow用户
提问于 2016-08-25 23:51:20
回答 1查看 73关注 0票数 0

我用C写了一个原始的HTTPS客户端,这个程序获取域名,将其解析为IP地址(通过DNS),连接到端口443 ( SSL )上的IP地址,执行SSL握手,然后通过SSL套接字发送HTTP请求。

为了尝试这个程序,我有一个托管在网络服务器上的域。我为域安装了Let's encrypt证书。

我发现有许多域名与我的域名共享相同的IP地址。因此,当我连接到端口443上的IP地址以执行SSL握手时,谁能确保mydomain的SSL证书将从服务器发送到客户端,而不是属于共享相同IP地址的其他域名的另一个证书?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-25 23:54:52

存在被广泛使用的称为Server Name Indication (SNI)的TLS扩展(并且例如http/2客户端需要该扩展)。您可以在RFC 6066中找到此扩展的正式规范。

使用SNI,客户端可以在其Hello请求中发送所需的主机名,这允许服务器为此连接选择匹配的密钥/证书组合。

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

https://stackoverflow.com/questions/39149706

复制
相关文章

相似问题

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