>백엔드 개발 >C++ >'신뢰 관계를 설정할 수 없습니다' SSL/TLS 오류를 해결하는 방법은 무엇입니까?

'신뢰 관계를 설정할 수 없습니다' SSL/TLS 오류를 해결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-21 08:42:09648검색

How to Troubleshoot

SSL/TLS 보안 채널 "신뢰 관계를 설정할 수 없습니다" 오류 해결

SSL 보안 URL을 사용하여 웹 서비스를 호출할 때 "SSL/TLS 보안 채널에 대한 신뢰 관계를 설정할 수 없습니다." 오류가 발생하면 혼란스러울 수 있습니다. 잠재적인 원인과 해결 방법을 살펴보겠습니다.

이 오류 메시지는 일반적으로 서버의 SSL 인증서에 문제가 있음을 나타냅니다. 자체 서명되었거나 호스트 이름이 서버와 일치하지 않을 수 있습니다. 이 문제를 해결하려면:

서버를 신뢰하고 인증서를 확인하고 싶지 않은 경우(권장하지 않음):

<code>// 信任所有证书
System.Net.ServicePointManager.ServerCertificateValidationCallback =
    ((sender, certificate, chain, sslPolicyErrors) => true);</code>

서버를 신뢰하지만 호스트 이름을 확인하고 싶은 경우:

<code>// 信任发送者
System.Net.ServicePointManager.ServerCertificateValidationCallback
                = ((sender, cert, chain, errors) => cert.Subject.Contains("YourServerName"));</code>

사용자 정의 콜백 기능을 사용하여 인증서를 확인하려는 경우:

<code>ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);

private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors policyErrors)
{
    bool result = cert.Subject.Contains("YourServerName");
    return result;
}</code>

이러한 솔루션은 기본 인증서 확인 프로세스를 비활성화합니다. 외부 서버와 마찬가지로 신뢰할 수 없는 소스에 연결할 수 있으므로 주의해서 사용하세요. 그러나 서버가 내부에 있고 유효한 인증서를 얻는 것이 실용적이지 않은 경우 이러한 해결 방법을 통해 통신을 원활하게 할 수 있습니다.

위 내용은 '신뢰 관계를 설정할 수 없습니다' SSL/TLS 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.