C#에서 검증되지 않은 SSL 인증서를 처리하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/129544

  •  02-07-2019
  •  | 
  •  

문제

다음과 같은 코드를 사용하여 모든 인증서가 유효하지 않은지를 통과하는지 확인하지만 더 나은 방법이 있는지 여부를 알고 싶습니다. 그리고 비동기 적으로 일어나는 다른 사람들에게는 그렇지 않습니다.

// This delegate makes sure that non-validating SSL certificates are passed
ServicePointManager.ServerCertificateValidationCallback = delegate(object certsender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
   return true;
};

위의 코드는 인증서에서 검증되지 않은 것을 무시하는 예일뿐입니다. 내가 가진 문제는 그것이 글로벌 이벤트. 이벤트가 어떤 세션에서 일어나고 있는지 알 수 없습니다. HTTP 요청이 몇 개있을 수 있으며 사용자에게 조치를 요청하고 싶습니다. 각 요청에 대해.

도움이 되었습니까?

해결책

What about the certsender 논쟁? 콜백이 어떤 연결이 일어나고 있는지 알 수 있도록 현명한 것이 포함되어 있습니까? .NET API를 확인했지만 논쟁에 포함되어야 할 내용은 말하지 않습니다 ...

다른 팁

글쎄, 당신은 실제로 그 매개 변수 중 일부를 확인하는 것을 귀찮게 할 수 있습니다. ;) 예를 들어, 자체 서명 인증서가있는 경우 ERROR == SSLPOLICEERRORS.REMOTECERTIFICATECHAINERROR 을 통해. 추가 보안을 위해 인증서 자체의 발행자, 이름 등을 확인할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top