Еще разок о задаче:
нужно чтобы HttpClient до Прокси сервера обращался без шифрования и всяких проверок корректности SSL/TLS, прокси-сервер сам устанавливал https - соединение с сайтом и передавал в приложение данные без шифрования.
я написал такой код:
WebProxy proxy = new WebProxy()
{
Address = new Uri("http://192.168.1.173:3128"),
BypassProxyOnLocal = false,
UseDefaultCredentials = false,
};
HttpClientHandler ch = new HttpClientHandler();
ch.Proxy = proxy;
ch.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;
ch.SslProtocols = SslProtocols.None;
HttpClient cli = new HttpClient(ch, true);
string data = await cli.GetStringAsync("https://ya.ru");
Console.WriteLine($"Test got bytes: {data.Length}");
string url = "https://api.boxberry.ru";
data = await cli.GetStringAsync(url);//тут AuthenticationException: "Authentication failed because the remote party sent a TLS alert: 'HandshakeFailure'"
Console.WriteLine($"{url} got bytes: {data.Length}");
Этот код запускался на двух разных компьютерах с разными настройками ОС
В результате выполнения данные от Ссылка удалена модератором. получены успешно на обоих клиентах, а при попытке обратиться к Ссылка удалена модератором. возникает исключение на одном из компов.
отсюда я делаю вывод, что HttpClient при работе с прокси использует SSL/TLS, а как заставить устанавливать шифрование только прокси, а HttpClient с Proxy заставить соединяться без шифрования и прочих SSL-глупостей.