【发布时间】:2011-10-19 11:33:23
【问题描述】:
数小时的搜索仍未找到答案。我们正在寻找一种方法,使 .NET WebBrowser 控件可以导航到存在 SSL 安全问题(自签名证书或不匹配的主机名)的页面,而无需停止并显示错误页面:
我已经看过很多贴子了:
How to disable “Security Alert” window in Webbrowser control -- 不起作用,因为 WebBrowser 显然不使用 ServicePointManager
Suppressing Hosted WebBrowser Control Dialogs -- 取决于知道窗口标题,这对非英语观众不起作用
C# WebBrowser Control - ignore website security warnings -- 这已作为副本关闭,答案仅参考上述链接。
大多数表单帖子都建议实施 IInternetSecurityManager,我已经这样做了,但无济于事。
对所有 URL(指定 URLZONE_LOCAL_MACHINE 或 URLZONE_TRUSTED)使用 GetSecurityId 的常量值进行响应不起作用。
以下没有帮助:
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 警告页面的方法?
【问题讨论】:
标签: internet-explorer webbrowser-control