Frage

Ich bin mit Web-Browser-Steuerung mit „nicht vertrauenswürdigem Zertifikat“ zu HTTPS-Site einzuloggen. aber ich bekomme Popup so standart Fenster „Sicherheitswarnung“ über nicht vertrauenswürdiges Zertifikat:

Security Alert Fenster

Ich muss dieses Fenster nach Titel finden und schicken Sie es Alt + Y drücken Ja :

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

aber Benutzer ein Flackern des Fensters sehen können.

Wie kann ich diese Warnung ignorieren?
Oder deaktivieren Sie dieses "nicht vertrauenswürdiges Zertifikat" Check in WebBrowser-Steuerelement?

War es hilfreich?

Lösung

Das sollte es tun:

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

ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);

Offensichtlich blendend Zertifikate erlaubt ist ein Sicherheitsrisiko. Seien Sie vorsichtig.

Andere Tipps

Ok, Artikel ist auf Code-Projekt - siehe http: //www.codeproject. com / KB / shell / WebBrowserControlDialogs.aspx Hoffentlich hilft.

Wenn das Zertifikat nicht von einer vertrauenswürdigen Zertifizierungsstelle (dem ersten Punkt in der Eingabeaufforderung) ist, dann können Sie das Zertifikat unter den Vertrauenswürdige Stammzertifizierungsstellen auf dem PC in Frage installieren.

Sie können dies unter Zertifikat anzeigen.

In gewisser Weise könnte dies eine einfachere Lösung sein, da es keine Code-Änderungen erfordert, dass jede und alle Zertifikate akzeptieren. Es ist jedoch das Zertifikat erforderlich installiert werden, wo die Anwendung verwendet wird.

Hier gehen wir mit der Lösung: Ich laufe es auf dem Browser_Navigated Ereignisse als die zugrunde liegende activeX Komponente bis dahin null ist.

Ref: https://social.msdn.microsoft.com/Forums/vstudio/en-US/4f686de1-8884-4a8d -8ec5-ae4eff8ce6db / new-wpf-Web-Browser-how-do-i-Unterdrückungs-Script-Fehler? Forum = 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 });

    }

Wenn ich die WebBrowser.ScriptErrorsSuppressed Eigenschaft auf false gesetzt, ich weiß nicht, diese Pop-ups bekommen mehr

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top