打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Cef 因系统时间不正常,导致页面访问空白问题

当我们的系统时间不正常,比如设置一个日期-1999年9月9日,会引发证书问题。

系统时间不正常-IE有概率能访问

触发NavigateError事件,异常代码INET_E_INVALID_CERTIFICATE

-- 这是一个必要不充分条件,系统时间不正常时IE有相关证书异常,更新时间能解决此类异常

系统时间不正常-Cef完全无法访问

1.使用Cef-Demo,异常显示如下:

2.ChromiumWebBrowser控件,此类异常也会触发LoadError事件

异常Code是CefErrorCode.Aborted,文件下载取消等异常信息也是Aborted类型,所以无法判断当前异常是否证书相关异常。

那么有没有Cef浏览器有没有其它相关异常事件,可以准确获知c#教程相关证书异常呢?

Cef系统时间不正常的修复方案

Cef有请求委托RequestHandler对象,可以在本地定制相关实现

_cefBrowser.RequestHandler = new ChromeBrowserRequestHandler();

新建ChromeBrowserRequestHandler,继承默认RequestHandler,把相关事件暴露给外界调用


1 public class ChromeBrowserRequestHandler : DefaultRequestHandler 

2{ 

3 /// <summary> 

4 /// 证书异常 

5 /// 有很多种,比如系统时间不正确引发证书异常 CertDateInvalid 

6 /// </summary> 

7 public event EventHandler<(string url, CefErrorCode errorCode)> CertificateError; 

8 public override bool OnCertificateError( 

9 IWebBrowser browserControl,

10 CefSharp.IBrowser browser,

11 CefErrorCode errorCode,

12 string requestUrl,

13 ISslInfo sslInfo,

14 IRequestCallback callback)

15 {

16 callback.Dispose();

17 //证书异常

18 CertificateError?.Invoke(this,(requestUrl,errorCode));

19 return false;

20 }

21 }

获取到证书异常的触发时机,如何解决系统时间不正常?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用C#在CEF中拦截并响应请求
年定报丨联网直报系统使用指南 H5操作手册 各专业填报时间
【技巧】利用过期或被吊销的数字证书给驱动签名,骗过微软64位系统驱动程序签名强制 | Cystc''''s Blog
打开网页弹出“安全警报”之解决方法
我提前放假了。。
360浏览器打开网页显示证书风险怎么解决方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服