자체 서명 된 인증서 로 테스트 서버에 SSL / TLS 연결을 설정하려고합니다 . 안전하지 않은 채널을 통한 통신은 문제없이 작동했습니다.
다음은이 솔루션을 기반으로 작성한 샘플 코드 입니다. HttpClient C #으로 신뢰할 수없는 SSL 인증서 허용 인증서 오류를 무시 하시겠습니까? SSL Web API에 연결하는 .NET 클라이언트
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:
내가 뭘 잘못 했어? 이 서버에 연결할 수없는 이유 (유효하지 않은 자체 서명 인증서가 있음)