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_LINKCSC_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


举报

© 著作权归作者所有


0