使用 Electron 对 macOS 应用程序进行代码签名

Posted

技术标签:

【中文标题】使用 Electron 对 macOS 应用程序进行代码签名【英文标题】:Code signing macOS app with Electron 【发布时间】:2018-06-26 20:17:30 【问题描述】:

我似乎无法让代码签名与 electron-builder 一起工作。当我运行security find-identity -v 时,我得到了 3 个证书,所有这些看起来都不错。它们也会在运行 electron-builder 时出现。但是,它说cannot find valid "Developer ID Application" identity or custom non-Apple code signing certificate 并将我引导到电子生成器文档(根本没有帮助)。

谁能指出我正确的方向?

【问题讨论】:

帮助不大,但您是否尝试过直接通过electron-osx-sign 签名?由于某些原因,我们最终单独签署了 pkg,而不是依赖打包程序的流程。 【参考方案1】:

在运行 electron builder 之前,像这样设置环境变量 -

export DEBUG=electron-builder
export CSC_LINK=~/Desktop/mac_certs.p12 (change path according to your location)
export CSC_KEY_PASSWORD=your cert password

然后尝试使用电子生成器运行。 如果这不起作用,请粘贴 electron-builder 的输出

【讨论】:

愚蠢的问题,但我在哪里可以找到.p12 文件?证书由苹果生成。 另外,根据文档,构建过程不应该自动定位文件吗?不管怎样,我一定会试一试的。 @NickParsons 将这些证书从钥匙串导出为 p12 格式 好的,都做了。很长的错误消息除了没有找到.p12 文件的路径之外没有任何意义。 @Ajey 当它们由 Apple 生成并通过其网站下载时,您如何将证书导出到 .p12 文件?当我尝试通过钥匙串访问这样做时,该选项被禁用。

以上是关于使用 Electron 对 macOS 应用程序进行代码签名的主要内容,如果未能解决你的问题,请参考以下文章

在 MacOS 中调试 Electron 应用程序的文件关联

CFBundleIdentifier在上传使用Electron开发并使用电子构建器构建的macOS应用程序时发生冲突

使用 electron-builder 向 macOS info.plist 添加协议的正确方法是啥?

如何防止Electron app中断macOS系统关机?

使用 Electron 为 Chrome OS 开发应用程序

大话Electron应用自动更新