Я пытаюсь создать соединение TLS из C# на Windows без установки SNI в пакете ПРИВЕТ КЛИЕНТА TLS.
Я пытался использовать HTTPClient:
var handler = new SocketsHttpHandler();
handler.SslOptions = new SslClientAuthenticationOptions();
handler.SslOptions.TargetHost = "";
using HttpClient client = new HttpClient(handler);
Также:
using HttpClient client = new HttpClient(handler);
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Add("Host", "");
Я пытался использовать SSLStream:
using (var client = new TcpClient())
{
client.Connect("hostname.example", 443);
using (var stream = new SslStream(client.GetStream()))
{
stream.AuthenticateAsClient("");
}
}
Мне удалось изменить SNI, установив заголовок HOST. Но полностью стереть его, чтобы он не go при рукопожатии TLS, было невозможно.