>백엔드 개발 >C++ >SOAP 웹 서비스에서 'SSL/TLS 보안 채널에 대한 신뢰 관계를 설정할 수 없습니다' 오류를 수정하는 방법은 무엇입니까?

SOAP 웹 서비스에서 'SSL/TLS 보안 채널에 대한 신뢰 관계를 설정할 수 없습니다' 오류를 수정하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-21 08:27:09916검색

How to Fix

SOAP 웹 서비스 통신 시 'SSL/TLS 보안 채널에 대한 신뢰 관계를 설정할 수 없습니다.' 오류 해결

과거에는 .NET 웹 서비스 호출이 제대로 작동했지만 지금은 "SSL/TLS 보안 채널에 대한 신뢰를 설정할 수 없습니다." 오류가 표시되는 경우 근본적인 문제를 조사해야 합니다.

이유:

이 오류는 일반적으로 웹 서비스에서 제공하는 SSL 인증서와 클라이언트 컴퓨터에 구성된 신뢰 설정이 일치하지 않을 때 발생합니다.

해결책:

이 문제를 해결하려면 웹 서비스의 SSL 인증서를 확인하고 클라이언트 컴퓨터에서 신뢰 관계 설정을 조정해야 합니다. 세 가지 방법은 다음과 같습니다.

  • 인증서 경고 무시:
<code class="language-csharp">System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);</code>

이 코드 조각은 인증서 확인을 비활성화하고 웹 서비스에 인증서 문제를 무시하도록 지시하여 통신이 계속되도록 합니다. 그러나 이 방법은 인증서를 얻을 수 없는 내부 서버에만 사용해야 합니다.

  • 호스트 이름이 일치하는지 확인하세요.
<code class="language-csharp">System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, cert, chain, errors) => cert.Subject.Contains("YourServerName"));</code>

이 코드 조각은 인증서의 호스트 이름을 예상 호스트 이름과 비교하여 인증서를 확인합니다. 일치하는 경우 통신이 허용됩니다.

  • 맞춤 인증서 확인:
<code class="language-csharp">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>

이 방법에는 특정 조건에 따라 인증서를 확인하기 위한 사용자 정의 콜백 함수를 정의하는 작업이 포함됩니다. 이 경우 코드는 인증서의 호스트 이름이 특정 값과 일치하는지 확인합니다.

"YourServerName"을 실제 서버 이름으로 바꾸십시오. 선택하는 방법은 특정 상황과 보안 요구 사항에 따라 다릅니다. 호스트 이름 일치 또는 사용자 지정 인증서 확인에 우선순위를 두는 것이 좋습니다. 보안 위험을 완전히 이해하지 않는 한 인증서 경고를 무시하지 않는 것이 좋습니다.

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

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