我有一个电子应用程序,最初与个人开发人员一起分发证书。
我现在想用我的组织的证书签署该应用程序的下一次更新,但是当我这样做时,现有安装(自动更新时)会抛出错误,导致代码要求不符合。
有没有办法用旧证书和新证书正确签署电子应用程序?我想阻止现有用户被打断。
任何帮助表示赞赏!
由于
答案 0 :(得分:1)
我们遇到了类似的情况,MacOS的Electron应用程序使用了自动更新,因此我们需要切换到新证书,而无需所有人都手动下载并重新安装该应用程序。自动更新过程需要识别新证书。正确的做法是,如果无法识别新证书,则旧版本将拒绝更新。
我们的策略是:
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对理解“指定要求”很有帮助。