2011-04-07 3 views
3

저는이 C# 프로젝트에서 webkitdotnet을 사용하고 있습니다. https를 사용하여 액세스 사이트를 사용해야 만 할 때까지 모든 것이 잘되었습니다.Webkitdotnet이 https 사이트를로드 할 수 없습니다.

나는 포럼을 검색하여 이것에 대해 few posts을 찾았지만 어느 누구도 내 문제를 해결하지 못했습니다. 따라서이 문제에 대해 알려주십시오. 고마워!

편집 : 또한 내 서버에 액세스하려고 할 때 "피어 인증서가 알려진 CA 인증서로 인증 될 수 없음"오류가 발생하지만 https://www.google.com은 정상적으로 작동합니다. 긴 내가 마지막으로 SSL을 구입 결국 인터넷 검색 후

답변

6

이것은 다소 해킹되지만 webkitdotnet은 피어 SSL 오류를 생성 할 수 있습니다. WebKitDotNet은 WebKit을 사용합니다. WebKit은 차례로 멋진 ssl 오류를 담당하는 컬을 사용합니다. curl은 ssl 오류를 무시할 수있는 옵션을 제공하지만 webkit이나 webkitdotnet은 api에서이 기능을 노출하지 않습니다. 그러나 웹킷 소스 코드를 체크 아웃하면 WEBKIT_IGNORE_SSL_ERRORS 환경 변수의 값이 true로 설정되면 웹킷은 curl 옵션 (CURLOPT_SSL_VERIFYPEER)을 false로 설정합니다.

무엇이 모두 아래로 비등하면 웹킷 또는 webkitdotnet 중 구성 요소를 초기화하기 전에 코드에서 환경 변수를 설정 경우, 웹킷 일종의 진행을 클릭처럼 (나쁜 인증서를 무시하고 당신이 사이트를 탐색 할 수 있도록하는 것입니다 어쨌든 IE9의 잘못된 인증서 경고 페이지에서).

C++ :

setvar("WEBKIT_IGNORE_SSL_ERRORS", "1"); 

C 번호 :

Environment.SetEnvironmentVariable("WEBKIT_IGNORE_SSL_ERRORS", "1"); 

사람이 관심이 있다면, 참조 된 웹킷 소스 코드 파일 웹킷 \ 소스에 \ WebCore \ 플랫폼 \ 네트워크 \ 컬 \ ResourceHandleManager.cpp입니다 현재 65 번과 681 번 라인에서

+0

@therealmitchconnors : 답장을 보내 주셔서 감사합니다. (포럼에서 어제 밤 회신을 보았습니다.)하지만 언급 한 참조 코드를 찾을 수 없습니까? 링크를 줄 수 있습니까? 내 말은, 0.5 버전의 src를 다운로드했는데 거기에 없다는 것입니다. 어쩌면 당신의 수정을 그물에서 사용할 수있게하는 것이 나쁜 생각이 아니겠습니까? (주요 개발자가 프로젝트를 포기한 이후로) – Nikola

+0

@Nikola : WebKitDotNet 버전 0.5를 다운로드하고 Visual Studio에서 WebKit.NET.sln을 여는 경우 WebKitBrowser, WebKitBrowserTest 및 WebKitCore의 세 가지 프로젝트가 표시되어야합니다. WebKitBrowserTest에서 MainForm.cs를 열고 48과 49 행 사이에 다음 텍스트를 삽입하십시오.'Environment.SetEnvironmentVariable ("WEBKIT_IGNORE_SSL_ERRORS", "1"); ' 이 줄은'public MainForm)'를 호출하고, InitializeComponent()를 호출한다. 프로젝트를 실행하면 잘못된 인증서가있는 경우에도 사이트로 이동할 수 있습니다. – therealmitchconnors

+0

@therealmitchconnors : 귀하의 회신에 대한 고맙습니다. 내가 말했듯이 프로젝트를 실행하고 https://www.google.com으로 이동하면이 오류가 발생합니다. "SSL 피어 인증서 또는 SSH 원격 키가 좋지 않았습니다." – Nikola

0

...

는 또한 SSL (적어도 그렇게 그들이 말하는)와 함께 잘 작동은 "사과"구축을 언급하지만, 난 아무데도 그것을 찾을 수 없습니다 내 도메인에 대한 인증서 및 지금은 모두 괜찮습니다. 또한 주목할 점은 Webkit이 DOM 액세스 및 조작을 처리하기가 가장 쉽다는 것입니다.

0

나는 아래 코드를 시도해보고 나를 위해 일한다.

관련 문제