You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Electron检测SSL证书错误及按域名配置白名单忽略错误方案咨询

Electron SSL证书错误处理实现方案

两个需求都可以通过Electron原生API实现,具体方案如下:

1. 全场景全类型SSL错误检测

Electron提供了全局的certificate-error事件,可以覆盖所有SSL错误场景:

  • 触发时机覆盖主页面加载、子资源加载、iframe嵌入、AJAX/Fetch请求等所有发起HTTPS请求的场景
  • 错误类型覆盖证书过期、自签名证书、域名不匹配、证书链不完整、证书被吊销等所有官方定义的SSL错误

事件监听示例代码:

const { app } = require('electron')
app.on('certificate-error', (event, webContents, url, error, certificate, callback) => {
  // 可在此处获取错误详情做日志记录或后续判断
  console.log(`SSL错误类型:${error},请求URL:${url},证书所属域名:${certificate.subjectName}`)
})

2. 域名白名单配置

可根据需求实现两种生效模式的白名单:

  • 会话周期生效:将允许放行的域名存到内存数组中,在certificate-error事件中匹配当前请求域名,命中白名单则调用callback(true)放行,应用重启后白名单自动失效
  • 永久生效:将白名单域名存储到本地持久化位置(比如本地JSON文件、electron-store实例、系统注册表),应用启动时读取到内存,后续匹配逻辑和会话级一致,重启后配置不会丢失

如果需要实现Chrome类似的用户手动确认放行逻辑,可以在捕获到证书错误时弹出自定义提示窗口,用户确认后再将对应域名加入白名单即可。
注意:生产环境请仅给明确可信的域名加白名单,不要全局忽略所有SSL错误,避免引入中间人攻击安全风险

内容的提问来源于stack exchange,提问作者Maciej Kravchyk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 01:45:03