2008-10-03 4 views
8

이 문구를 잘 구사하는데 필요한 모든 정보가 있다면 잘 모릅니다.SSL 2.0을 사용하기 위해 System.Web.HttpWebRequest 객체를 어떻게 얻습니까?

로컬 웹 페이지 (로컬 의미 192.168. *)는 자체 서명 된 SSL 인증서로 보호되어 있습니다. System.Net.HttpWebRequest 개체를 사용하여이 페이지에 액세스하려고하지만 이상한 문제가 발생합니다.

Internet Explorer에서 "SSL 2.0 사용"옵션을 해제 한 상태에서이 페이지에 액세스하면 브라우저에서 연결을 설정할 수없는 것처럼 오류를 다시 표시합니다. 즉, 서버 전송 오류와 달리 브라우저 연결 오류입니다. "SSL 2.0 사용"옵션이 켜져 있으면 페이지가 제대로 작동하고 이것이 자체 서명 된 인증서라는 표준 경고가 표시됩니다 , 계속하고 싶은가 등등 (이상하게도, SSL 2.0이 켜져 있지 않은 Firefox는 정상적으로 작동합니다.)

내 문제는 HttpWebRequest를 사용하여이 페이지에 액세스하려고한다는 것입니다. 개체 및 그 오류가 다시 돌아오고 있다는 것은 "SSL 2.0 사용"이 꺼져있을 때 IE가 던져 버리는 오류처럼 연결이 예기치 않게 닫혔다는 것입니다. (이미 자체 서명 된 인증서라는 사실을 무시할 수있는 코드가 이미 있지만 멀리까지 가지 못한다.)

어떻게 System.Net.HttpWebRequest를 "SSL 2.0 사용 "요청할 때?

답변

15

Ssl3을 다룰 때이 문제가 직접 발생했습니다. 동일한 조언을 SSL2에서 사용할 수 있을지 잘 모르겠습니다.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

체크 아웃 자세한 내용은 다음 링크 :

system.net.servicepointmanager.securityprotocol on MSDN

security protocol enumeration on MSDN

내가 이렇게 같은 보안 프로토콜에 SSL3 플래그를 설정 문제를 해결하려면 운이 좋다면 그들은 올바른 방향으로 당신을 가리킬 수도 있습니다 :)

+0

그게 다야! SSL3에 명시 적으로 설정하면 바로 작동합니다. 감사! –

+0

잘 알면 좋았어 :) – Bittercoder

+0

고마워요. System.Diagnostics를 사용하여 System.Net에 대한 추적을 설정하면 System.Net 정보 : 0 : [16212] InitializeSecurityContext (인 버퍼 수 = 2, Out-Buffer 길이 = 0, 반환 된 코드 = AlgorithmMismatch)가 기록됩니다. System.Net 오류 : 0 : [16212] HttpWebRequest의 예외 # 49844091 :: 요청이 중단되었습니다. SSL/TLS 보안 채널을 만들 수 없습니다 .. HttpWebRequest의 System.Net 오류 : 0 : [16212] 예외 # 49844091 :: GetResponse - 요청이 중단되었습니다. SSL/TLS 보안 채널을 만들 수 없습니다 .. ' – barthoda

관련 문제