C# 如何修复网站上的Gecko 29.0错误(sec_error_unknown_issuer)?
我正在winforms中使用Gecko 29.0。我已经编写了一些基本代码,如下所示:C# 如何修复网站上的Gecko 29.0错误(sec_error_unknown_issuer)?,c#,winforms,webbrowser-control,geckofx,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 =
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_错误\u未知\u颁发者)”
我已经尝试从http使用https。但它不起作用。我到处都找遍了,但找不到任何解决办法,甚至找不到任何提示
有谁能告诉我如何解决这个问题吗?因此,对于像我这样的初学者来说,解决方案就在这里,因为他们面临着无效证书的问题
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;
因此,解决方案是针对像我这样的初学者,面对无效证书的问题
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;
此代码不适用于33或45版本。29版本没有ValidityOverride事件此代码不适用于33或45版本。29版本没有ValidityOverride事件