문제

"신뢰할 수없는 인증서"로 HTTPS 사이트에 로그인하기 위해 WebBrowser 컨트롤을 사용하고 있습니다. 그러나 신뢰할 수없는 인증서에 대한 "보안 경고"와 같은 팝업을받습니다.

Security Alert window

제목 으로이 창을 찾아 보내야합니다. 대체+와이 누르기 위해 :

int iHandle = NativeWin32.FindWindow(null, "Security Alert");
NativeWin32.SetForegroundWindow(iHandle);
System.Windows.Forms.SendKeys.Send("Y%");

그러나 사용자는이 창의 깜박임을 볼 수 있습니다.

이 경고를 어떻게 무시할 수 있습니까?
또는 웹 브라우저 컨트롤 에서이 "신뢰할 수없는 인증서"확인을 비활성화합니까?

도움이 되었습니까?

해결책

이렇게해야합니다.

public static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
    return true;
}

ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);

분명히 맹목적으로 인증서를 허용하는 것은 보안 위험입니다. 조심하세요.

다른 팁

좋아요, 기사가 코드 프로젝트에 올라갑니다. http://www.codeproject.com/kb/shell/webbrowsercontroldialogs.aspx바라건대 이것은 도움이됩니다.

인증서가 신뢰할 수있는 인증 당국 (프롬프트의 첫 번째 지점)이 아닌 경우 해당 PC에 신뢰할 수있는 루트 인증 당국에 따라 인증서를 설치할 수 있습니다.

뷰 인증서 에서이 작업을 수행 할 수 있습니다.

어떤면에서 이것은 모든 인증서와 모든 인증서를 수락하는 코드 변경이 필요하지 않기 때문에 더 간단한 솔루션이 될 수 있습니다. 그러나 응용 프로그램이 사용되는 곳마다 인증서를 설치해야합니다.

여기서 우리는 솔루션과 함께 이동합니다. 기본 ActiveX 구성 요소가 그때까지 null이므로 Browser_Navigated 이벤트에서 실행합니다.

ref :https://social.msdn.microsoft.com/forums/vstudio/en-us/4f686de1-8884-4a8d-8ec5-ae4eff8ce6db/new-webbrowser-how-do-suppress-script-errors? WPF

         private void Browser_Navigating_1(object sender, NavigatingCancelEventArgs e)
        {
        HideScriptErrors(Browser,true);

        }

    public void HideScriptErrors(WebBrowser wb, bool Hide)
    {

        FieldInfo fiComWebBrowser = typeof(WebBrowser).GetField("_axIWebBrowser2", BindingFlags.Instance | BindingFlags.NonPublic);
        if (fiComWebBrowser == null) return;
        object objComWebBrowser = fiComWebBrowser.GetValue(wb);

        if (objComWebBrowser == null) return;

        objComWebBrowser.GetType().InvokeMember(
        "Silent", BindingFlags.SetProperty, null, objComWebBrowser, new object[] { Hide });

    }

webbrowser.scripterrorssuppressed 속성을 False로 설정하면 더 이상이 팝업을 얻지 못합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top