在macOS上使用自签名证书搭配Electron-Updater
自签名证书能否用于Electron Mac应用签名及更新?
结论:可以用自签名证书完成Mac端Electron应用的签名,且能让electron-updater正常识别并完成更新流程,但需要注意以下要点:
签名配置
在electron-builder的配置文件(如package.json或electron-builder.yml)中指定自签名证书信息,同时关闭 hardened runtime 和 Gatekeeper 校验,示例配置如下:"build": { "mac": { "identity": "你的自签名证书名称", "hardenedRuntime": false, "gatekeeperAssess": false } }自签名证书不满足Apple的 hardened runtime 要求,必须关闭该选项才能正常签名。
更新适配
发布更新包时,使用同一个自签名证书签名即可。electron-updater会校验更新包与本地应用的签名一致性,只要是同一证书签名的包,就能通过校验完成更新。用户端操作
内部用户首次打开应用时,Mac系统会弹出“无法打开,因为来自身份不明的开发者”的提示,需要用户前往系统设置 > 隐私与安全性页面手动允许打开该应用;后续更新时不会再触发此提示,因为应用已被用户标记为信任。场景限制
自签名证书无法绕过Mac Gatekeeper的默认拦截规则,必须用户手动授权;也无法用于提交App Store,但这对你的内部小范围使用场景没有影响。
内容的提问来源于stack exchange,提问作者wustus
相关产品推荐
相关产品推荐

