MacOS自签名
从MacOS 15起,苹果进一步强化了安全机制;从此不再支持自签名,MacOS应用必须使用苹果官方发布的证书签名,每年至少$99,没有其它任何签名的途径。因此下文内容无效!
创建自签名证书
1>. 打开钥匙串
有些版本的MacOS中可能找不到钥匙串;如下图所示,可在 /System/Library/CoreServices/Applications
中找到,并打开;
2>. 创建证书
3>.输入证书名称,并选择正确的身份类型和证书类型
4>.导出 .p12 格式的证书
5>.为证书设置访问密码
配置electron-build
a.本地环境打包时签名
在项目根目录下创建自定义文件夹certificate,并将.p12
证书放入其中;然后在 electron-builder 配置文件中配置证书的路径和密码,如下图所示:
注:如下配置仅在配置打包时才有效,因为本地 钥匙串 可能已经识别了证书,但在 GitHub Actions 等环境中,这是不会生效的,原因如下:
"mac": {
"cscLink": "certificate/Sidoc.p12",
"cscKeyPassword": "UPkV4Wcn9hscAG1MpLPR"
},
b.在非本地环境打包签名
因为非本地开发环境没有钥匙串,因此要通过环境变量的方式来识别秘钥并进行签名;签名时,要提前将.p12证书转为明文的base64编码信息;
CSC_LINK
和 CSC_KEY_PASSWORD
环境变量
验证.dmg包的签名信息:
codesign -dv --verbose=4 Sidoc内网穿透-0.58.5-darwin-x64.dmg
## 输出:code object is not signed at all,表明这个 .dmg 文件未被签名;
## 输出
"identity": null // 如果打算使用 .p12 文件签名,则此值必须为null