9

Webbrowser コントロールを使用して、「信頼できない証明書」で HTTPS サイトにログインしています。しかし、信頼できない証明書に関する標準ウィンドウ「セキュリティ警告」などのポップアップが表示されます。

セキュリティ警告ウィンドウ

このウィンドウをタイトルで見つけてAlt+を送信し、 YesYを押す必要があります。

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

ただし、ユーザーはこのウィンドウがちらつくのを見ることができます。

このアラートを無視するにはどうすればよいですか?
または、Webbrowser コントロールでこの「信頼されていない証明書」チェックを無効にしますか?

4

5 に答える 5

3

これはそれを行う必要があります:

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

ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);

明らかに、やみくもに証明書を許可することはセキュリティ上のリスクです。気をつけて。

于 2008-10-07T14:02:46.457 に答える
1

証明書が信頼された証明機関からのものでない場合 (プロンプトの最初のポイント)、問題の PC の信頼されたルート証明機関の下に証明書をインストールできます。

これは、[証明書の表示] で実行できます。

あらゆる証明書を受け入れるようにコードを変更する必要がないため、いくつかの点でこれはより単純なソリューションになる可能性があります。ただし、アプリケーションを使用する場所に証明書をインストールする必要があります。

于 2012-06-27T20:18:17.640 に答える
0

WebBrowser.ScriptErrorsSuppressed プロパティを false に設定すると、これらのポップアップが表示されなくなりました

于 2012-11-01T14:16:04.023 に答える