Webkitdotnet не может загрузить сайт https - PullRequest
3 голосов
/ 07 апреля 2011

Я использую этот webkitdotnet в моем проекте на C #. Все прошло хорошо, пока мне не пришлось использовать сайт доступа с https.

Я искал на их форуме и нашел несколько сообщений об этом, но ни одно из них не решает мою проблему, поэтому, пожалуйста, пролите немного света на этот вопрос. Thx!

edit: Также, как упоминалось в их темах (также без ответа), я получаю сообщение об ошибке «Невозможно пройти проверку подлинности сертификата с помощью известных сертификатов CA» при попытке получить доступ к моему серверу, но https://www.google.com работает нормально.

Они также упоминают сборку "apple", которая прекрасно работала с ssl (по крайней мере, так они говорят), но я нигде не могу ее найти ...

Ответы [ 3 ]

6 голосов
/ 03 июня 2011

Это что-то вроде хака, но вы можете сделать ошибки webkitdotnet ingore peer ssl.WebKitDotNet использует WebKit, который, в свою очередь, использует curl, который отвечает за вашу замечательную ошибку ssl.curl предоставляет возможность игнорировать ошибки ssl, но ни webkit, ни webkitdotnet, по-видимому, не предоставляют эту функциональность в своих API.Однако, если вы извлекаете исходный код webkit, webkit устанавливает для параметра curl (CURLOPT_SSL_VERIFYPEER) значение false, если для значения переменной среды WEBKIT_IGNORE_SSL_ERRORS установлено значение true.

Все, что сводится к этому, заключается в том, что если вы установите переменную среды в коде до инициализации компонентов webkit или webkitdotnet, webkit проигнорирует неверный сертификат и позволит вам перейти на сайт (что-то вроде щелчка «Продолжить» на странице предупреждения о плохом сертификате IE9).

C ++:

setvar("WEBKIT_IGNORE_SSL_ERRORS", "1");

C #:

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

Если кому-то интересно, ссылка на исходный код webkit находится в файле webkit \ Source \ WebCore \ platform \ network \ curl\ ResourceHandleManager.cpp в строках 65 и 681, в настоящее время.

0 голосов
/ 07 февраля 2014

Я попробовал код ниже и работает для меня.

webkitBrowser.Preferences.IgnoreSSLErrors = true;
0 голосов
/ 22 апреля 2011

После долгих поисков я наконец-то приобрел сертификат SSL для своего домена, и теперь все в порядке. Кроме того, следует отметить, что Webkit является самым простым в работе и обеспечивает доступ и манипулирование DOM.

...