gpt4 book ai didi

ssl - HTTPS 客户端 - 证书

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:22 24 4
gpt4 key购买 nike

我用 C 语言编写原始 HTTPS 客户端——一个获取域名、将其解析为 IP 地址(通过 DNS)、连接到端口 443(SSL)上的 IP 地址、执行 SSL 握手然后通过SSL 套接字。

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

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

最佳答案

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

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

关于ssl - HTTPS 客户端 - 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39149706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com