如何在网站上修复Gecko 29.0错误(sec_error_unknown_issuer)?

时间:2016-05-29 14:39:40

标签: c# winforms webbrowser-control geckofx

我在winforms中使用Gecko 29.0。我写了一些基本代码如下:

using Gecko;
using System.IO;
using System.Reflection;
namespace GeckoTutorial1
{

public partial class Form1 : Form
{
GeckoWebBrowser browser;
public Form1()
{
    InitializeComponent();
    var app_dir = Path.GetDirectoryName(Application.ExecutablePath);
    Gecko.Xpcom.Initialize(Path.Combine(app_dir, "xulrunner"));

    browser = new GeckoWebBrowser();

    browser.Dock = DockStyle.Fill;
    this.browser.Name = "browser";

    this.Controls.Add(browser);

}

private void Form1_Load(object sender, EventArgs e)
{
    browser.Navigate("http://www.Someexample.com");
}
}
}

它给了我以下错误:

“cms.nust.edu.pk使用无效的安全证书证书不受信任,因为未提供任何发卡行链接(sec_error_unknown_issuer)”

我试图从http中创建https。但它没有用。我到处搜索,但找不到任何解决方案,甚至没有提示。

有谁能告诉我如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

因此解决方案适用于像我一样面临无效证书问题的初学者

private void geckoWebBrowser1_ValidityOverride(object sender, Gecko.Events.CertOverrideEventArgs e)
    {
        e.OverrideResult = Gecko.CertOverride.Mismatch | Gecko.CertOverride.Time | Gecko.CertOverride.Untrusted;
        e.Temporary = true;
        e.Handled = true;
    }

将它放在构造函数中:

  Gecko.CertOverrideService.GetService().ValidityOverride += geckoWebBrowser1_ValidityOverride;