我在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。但它没有用。我到处搜索,但找不到任何解决方案,甚至没有提示。
有谁能告诉我如何解决这个问题?
答案 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;