2008-10-28 3 views
3

나는 전에 HTTPS 웹 사이트에 데이터를 게시하기 위해 HttpWebRequests를 사용했으며 일반적인 HTTP Post와 다른 점을 한 번도 가져 보지 않았습니다.SSL을 통한 HttpWebRequest?

내가 제대로 수행했는지 확인하지 못한 트릭이 있다면 아는 사람이 있습니까?

답변

0

HTTPS 요청은 HTTP와 동일하며 SSL 인증서 만 사용합니다.

그러나 인증서에 오류 (심지어 경고)가 없는지 수동으로 확인해야합니다. 그렇지 않으면 요청이 실패 할 수 있습니다. 인증 오류에 대한

+0

그리고 SSL 요청 인 경우 어떻게 인증서를 확인해야합니까? –

+0

.NET 프레임 워크 (또는 HTTP 하위 계층)에서 SSL 인증서를 처리하지만 직접 인증서를 확인해야하는 경우 브라우저에서 요청을로드하고 인증서를 볼 수 있습니다. – Ady

4

는, 당신이 인증서가 유효한 경우 아무것도 할 필요가 없습니다 것 같습니다. 인증서를 직접 검사 할 경우

, 당신은이 작업을 수행 할 수 있습니다

System.Net.ServicePointManager.ServerCertificateValidationCallback += 
    delegate(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, 
          System.Security.Cryptography.X509Certificates.X509Chain chain, 
          System.Net.Security.SslPolicyErrors sslPolicyErrors) 
     { 
      return true; // **** Always accept 
     }; 

위의 코드는 Rick Stralhs 블로그에 코멘트에서 온, 클라이언트의 인증서를 받아들이는 항상 강제로됩니다.

해당 대리인에서 인증서를 확인할 수도 있습니다.

멋진 콘텐츠!

1

https가 호스팅 문제라고 생각합니다. 인증서 (또는 인증서 체인)를 사용하여 키 저장소를 구성하고, SSL/TLS를 설정하고, DNS 설정을 매핑하고 (http에 대해 수행 한) 계속 진행해야합니다. 세션/전송 계층 문제가 애플리케이션에 영향을주는 이유는 알 수 없습니다.

언제 까지나 스마트 카드 제거를 감지하고 세션을 종료해야했던 ​​사례가있었습니다. 이를 위해 우리는 모든 요청에 ​​대해 SSO 토큰을 검사하고 유효성을 검사해야했습니다. 이것은 아키텍처의 스마트 카드 측면과 관련이 있지만 https가 아닙니다.

관련 문제