Не удалось создать безопасный канал SSL / TLS, несмотря на настройку ServerCertificateValidationCallback
Я пытаюсь установить соединение SSL / TLS стестовый сервер с самозаверяющим сертификатом, Связь по незащищенному каналу работала без проблем.
Вот мой пример кода, который я написал на основе этих решений:Разрешение ненадежных SSL-сертификатов с HttpClient C # Игнорировать ошибки сертификата? Клиент .NET, подключающийся к ssl Web API
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
var c = new HttpClient();
var r = c.GetAsync("https://10.3.0.1:8443/rest/v1").Result;
if (r.IsSuccessStatusCode)
{
Log.AddMessage(r.Content.Get<string>());
}
else
{
Log.AddMessage(string.Format("{0} ({1})", (int)r.StatusCode, r.ReasonPhrase));
}
также попробовал это:
var handler = new WebRequestHandler();
handler.ServerCertificateValidationCallback = delegate { return true; };
var c = new HttpClient(handler);
...
и это
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
но каждый раз, когда я получаю исключение:
InnerException: System.Net.Http.HttpRequestException
_HResult=-2146233088
_message=An error occurred while sending the request.
HResult=-2146233088
IsTransient=false
Message=An error occurred while sending the request.
InnerException: System.Net.WebException
_HResult=-2146233079
_message=The request was aborted: Could not create SSL/TLS secure channel.
HResult=-2146233079
IsTransient=false
Message=The request was aborted: Could not create SSL/TLS secure channel.
Source=System
StackTrace:
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
InnerException:
Что я делаю не так? Почему я не могу подключиться к этому серверу (который имеет сертификат с недействительной подписью)