Nie możemy połączyć się z serwerem HTTPS przy użyciu WebRequest
tego komunikatu o błędzie:
The request was aborted: Could not create SSL/TLS secure channel.
Wiemy, że serwer nie ma ważnego certyfikatu HTTPS z użytą ścieżką, ale aby ominąć ten problem, używamy następującego kodu, który pobraliśmy z innego wpisu StackOverflow:
private void Somewhere() {
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);
}
private static bool AlwaysGoodCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) {
return true;
}
Problem polega na tym, że serwer nigdy nie sprawdza poprawności certyfikatu i kończy się niepowodzeniem z powyższym błędem. Czy ktoś ma pojęcie o tym, co powinienem zrobić?
Powinienem wspomnieć, że kolega i ja przeprowadziliśmy testy kilka tygodni temu i działało dobrze z czymś podobnym do tego, co napisałem powyżej. Jedyną „główną różnicą”, którą znaleźliśmy, jest to, że korzystam z systemu Windows 7, a on z Windows XP. Czy to coś zmienia?
The request was aborted: Could not create SSL/TLS secure channel
jest bardzo ogólny. Mówi w zasadzie: „Inicjowanie połączenia SSL / TLS / HTTPS nie powiodło się z jednego z wielu możliwych powodów”. Jeśli więc otrzymujesz go regularnie w określonej sytuacji, najlepszym rozwiązaniem jest zadanie konkretnego pytania zawierającego szczegółowe informacje na temat tej sytuacji. I sprawdzanie Podglądu zdarzeń, aby uzyskać więcej informacji. I / lub włącz niektóre debugowanie po stronie klienta .NET, aby uzyskać więcej szczegółów (czy certyfikat serwera nie jest zaufany? Czy istnieje niezgodność szyfru? Niezgodność wersji protokołu SSL / TLS itp.).