Многие часы поиска не привели к ответу. Мы ищем способ, которым элемент управления .NET WebBrowser может перемещаться по страницам с проблемами безопасности SSL (самозаверяющие сертификаты или несоответствующие имена хостов) без остановки и отображения страницы с ошибкой:
Я уже видел множество закрытых сообщений:
Как отключить окно "Предупреждение безопасности" в элементе управления Webbrowser - не работает, потому что WebBrowser, по-видимому, не использует ServicePointManager
Подавление диалоговых окон управления Hosted WebBrowser - зависит от звания заголовков окон, которые не работают для неанглийской аудитории
С# WebBrowser Control - игнорировать предупреждения безопасности веб-сайта - это было закрыто как дубликат, и ответ просто ссылался на приведенную выше ссылку.
Большинство сообщений в форме указывают на реализацию IInternetSecurityManager, который я сделал, но безрезультатно.
Ответ с постоянным значением для GetSecurityId для всех URL-адресов (с указанием URLZONE_LOCAL_MACHINE или URLZONE_TRUSTED) не работает.
Не помогло следующее:
public unsafe int MapUrlToZone(string url, int* pdwZone, int dwFlags)
{
*pdwZone = 3; // URLZONE_TRUSTED;
return Win32.S_OK;
}
Наконец, я не могу найти способ для ProcessUrlAction иметь какой-либо эффект:
public unsafe int ProcessUrlAction(string url, int dwAction, byte* pPolicy, int cbPolicy,
byte* pContext, int cbContext, int dwFlags, int dwReserved)
{
*((int*)pPolicy) = (int)Win32.UrlPolicy.URLPOLICY_ALLOW;
return Win32.S_OK;
}
Кто-нибудь успешно нашел путь мимо этой страницы предупреждений SSL?