是否存在黑客攻击或 SSL/TLS 架构允许与服务器通信而无需请求其证书,可能是通过预先下载证书并安装它,
我问这个问题的原因是因为在握手过程中,SNI 扩展会公开我正在通信的网站,因为 SNI 以纯文本形式发送域名...
我尝试使用没有 SNI 的旧版本 SSL,但大多数服务器不支持旧版本的 SSL...
答案1
您问的是两个不同的事情:客户端发送 SNI 导致的主机名泄漏,以及服务器发送证书导致的主机名泄漏。这些是完全独立彼此之间;SNI 不会强制发送证书,并且禁用 SNI 不会阻止发送证书。
客户端到服务器
在握手过程中,SNI 扩展会暴露我正在通信的网站
如果你正在与你自己服务器,那么就不要发送 SNI 扩展。它在大多数 TLS 客户端库中都是可选的。(例如,在 GnuTLS 中,默认情况下不发送它,除非gnutls_server_name_set() 被调用。)
另一方面,对于互联网上的随机网站来说,这往往是不可避免的。
服务器到客户端
是否存在黑客攻击或 SSL/TLS 架构允许与服务器通信而无需请求其证书
TLS 支持其他服务器身份验证方法——TLS-PSK 是最常见的替代方法(尽管通常它仅适用于您已使用共享密钥预先配置的服务器;而不是互联网上的随机网站)。
或者,证书可以包含随机主机名或根本不包含主机名,客户端将使用其他方法(通过指纹或 SPKI 哈希)对其进行验证 - TLS 根本不需要使用主机名。