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

Windows平台Electron自动更新失败:代码签名问题排查

问题分析与解决方案

报错信息

Electron auto-update error: Error: New version 4.0.0 is not signed by the application owner: publisherNames: Developer ID Application: OUR COMPANY NAME, LLC (123F2ASF2), raw info: {
.....
"Status": 1,
"StatusMessage": "A certificate chain could not be built to a trusted root authority"
}

可能的原因

  • 证书链不完整:你使用的code-sign-certificate.p12可能仅包含开发者证书,缺少中间证书或根证书。electron-updater验证签名时,必须依赖完整的证书链才能确认发布者身份的合法性。
  • 证书路径或读取权限问题:构建脚本中CSC_LINK的相对路径可能存在读取问题,或者构建环境没有权限访问该证书文件,导致签名时无法加载完整证书链。
  • electron-builder版本缺陷:v23.0.2版本的electron-builder在证书链处理逻辑上可能存在已知bug,部分场景下无法正确识别完整的证书链。
  • 跨平台签名配置问题:同一.p12证书未必同时满足Windows和Mac的签名要求,跨平台混用可能导致某一平台的证书链验证失败。
  • 客户端系统根证书缺失:用户设备的系统根证书存储中,缺少对应证书链的根证书,导致无法完成信任链的构建。

对应解决步骤

  • 重新导出完整证书链:从开发者后台重新导出.p12证书,导出时务必勾选“包含密钥链中所有证书”选项,确保文件包含开发者证书、中间证书和根证书。
  • 验证证书完整性:用openssl命令检查证书内容,确认包含完整链:
    openssl pkcs12 -in code-sign-certificate.p12 -info -nodes
    
    查看输出是否存在多个证书条目。
  • 修正构建脚本路径:将CSC_LINK改为绝对路径,避免相对路径带来的读取异常,比如/Users/xxx/code-sign-certificate.p12(Mac)或C:\xxx\code-sign-certificate.p12(Windows)。
  • 单独构建测试:拆分Windows和Mac的构建命令,分别执行,确保每个平台的签名流程独立且正确。
  • 更新客户端根证书:指导用户更新系统根证书列表,Mac可通过「系统设置-通用-证书信任设置」操作,Windows可通过「控制面板-证书」导入对应的根证书。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 17:55:05