Sie fragen nach zwei verschiedenen Dingen: Hostnamenlecks durch den Client, der SNI sendet, und Hostnamenlecks durch den Server, der ein Zertifikat sendet. Diese sind völlig unabhängig voneinander; SNI erzwingt kein Senden eines Zertifikats. Durch das Deaktivieren von SNI wird das Senden eines Zertifikats nicht verhindert.
Client zu Server
Während des Handshake-Prozesses macht die SNI-Erweiterung die Website verfügbar, mit der ich kommuniziere
Wenn Sie mit Ihren eigenen Servern kommunizieren, senden Sie die SNI-Erweiterung einfach nicht. In den meisten TLS-Clientbibliotheken ist dies optional. (In GnuTLS wird es beispielsweise nicht standardmäßig gesendet, es sei denn, gnutls_server_name_set () wurde aufgerufen.)
Bei zufälligen Websites im Internet ist dies jedoch häufig nicht zu vermeiden.
Server zu Client
Gibt es einen Hack oder die Architektur von SSL / TLS erlaubt die Kommunikation mit einem Server, ohne dessen Zertifikat anzufordern
TLS unterstützt andere Methoden der Serverauthentifizierung - TLS-PSK ist die am häufigsten verwendete Alternative (im Allgemeinen funktioniert dies jedoch nur mit Servern, die Sie mit dem gemeinsam genutzten Schlüssel vorkonfiguriert haben; keine zufälligen Websites im Internet).
Alternativ könnte das Zertifikat einen beliebigen Hostnamen oder gar keinen Hostnamen enthalten, und der Client würde es mit anderen Methoden überprüfen (per Fingerabdruck oder SPKI-Hash) - TLS erfordert überhaupt keinen Hostnamen.