프로그래밍 언어/C++

오류 The request was aborted: Could not create SSL/TLS secure channel

Rateye 2021. 12. 1. 09:48
728x90
반응형
질문 : 요청이 중단되었습니다. SSL / TLS 보안 채널을 만들 수 없습니다.

다음 오류 메시지 때문에 WebRequest 사용하여 HTTPS 서버에 연결할 수 없습니다.

The request was aborted: Could not create SSL/TLS secure channel.

서버에 사용 된 경로가있는 유효한 HTTPS 인증서가 없다는 것을 알고 있지만이 문제를 우회하기 위해 다른 StackOverflow 게시물에서 가져온 다음 코드를 사용합니다.

private void Somewhere() {
    ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);
}

private static bool AlwaysGoodCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) {
   return true;
}

문제는 서버가 인증서의 유효성을 검사하지 않고 위의 오류로 인해 실패한다는 것입니다. 내가 무엇을해야하는지 아는 사람이 있습니까?

나는 동료와 내가 몇 주 전에 테스트를 수행했으며 위에서 작성한 것과 유사한 것으로 잘 작동하고 있음을 언급해야합니다. 우리가 찾은 유일한 "주요 차이점"은 제가 Windows 7을 사용하고 있고 그는 Windows XP를 사용하고 있다는 것입니다. 그게 뭔가 바뀌나요?

답변

마침내 답을 찾았습니다 (출처는 언급하지 않았지만 검색 결과입니다).

코드는 Windows XP에서 작동하지만 Windows 7에서는 처음에 다음을 추가해야합니다.

// using System.Net;
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
// Use SecurityProtocolType.Ssl3 if needed for compatibility reasons

이제 완벽하게 작동합니다.


추가

Robin French가 언급했듯이; PayPal을 구성하는 동안이 문제가 발생하면 2018 년 12 월 3 일부터 SSL3을 지원하지 않습니다. TLS를 사용해야합니다. 여기에 대한 Paypal 페이지 가 있습니다.

출처 : https://stackoverflow.com/questions/2859790/the-request-was-aborted-could-not-create-ssl-tls-secure-channel
728x90
반응형