我有一个电子应用程序,最初是为个人开发人员分发的证书。
我现在想用我的组织的证书签署该应用程序的下一次更新,但是当我这样做时,现有的安装(在自动更新时)会抛出错误,导致代码要求不符合。
有没有办法用旧证书和新证书正确签署电子应用程序?我想阻止我的现有用户被打断。
任何帮助赞赏!
谢谢
我们有类似的情况,使用自动更新的MacOS电子应用程序,我们需要切换到新证书,而不是让所有人手动下载和重新安装应用程序。自动更新过程需要识别新证书。这是正确的,如果无法识别新证书,旧版本将拒绝更新。
我们的策略是:
designated requirement
查看应用程序的codesign -d -v -r - <path-to-app>
(或DR),当使用旧证书签名时designated requirement
designated requirement
放入electron-builder-requirements.txt
文件中identifier
组合字符串中包含designated requirement
electron-builder-requirements.txt
文件中引用electron-builder.yaml
(在mac:
下添加一行,如requirements: electron-builder-requirements.txt
)electron-builder-requirements.txt
文件具有包含两个证书信息的DR的旧版本应用程序将允许自动更新使用任一证书的新版本。
我发现this document about signing code manually有助于理解“指定要求”。