electron mac 最新签名方法,notarytool 签
2023-12-08 本文已影响0人
Renew全栈工程师
mac os 最新需要通过notarytool 进行签名公证了
1.先创建秘钥证书
xcrun notarytool store-credentials "MY_PASSWORD" \
--apple-id "{appId}" \
--team-id PNJFUFSV5K \
--password {二次认证密钥}
- MY_PASSWORD是凭证名称,可随意命名,后续需要使用到
- --apple-id:你注册的Apple开发者帐号
- --team-id: teamId的值,无论是个人或公司开发者帐号,都会有一个这样的值
- --password:二次凭证,在AppleId中设置的二次认证密码,以避免直接使用AppleId的密码,加强安全性
二次认证密钥,如何创建获取
image.png
https://appleid.apple.com/ 访问该链接,登录appid
image.png
新建个专用密码即可
2.提交公证申请
xcrun notarytool submit {appPath} -keychain-profile "MY_PASSWORD" \
- appPath: 需要公证的安装包的完整路径
- --keychain-profile: 先前存储的凭证名称
过程中,会要求输入当前系统用户的密码,以读取上一步设置的MY_PASSWORD的凭证
此命令执行完成后,会输出类似如下信息Successfully uploaded file
id: e1c17380-6164-4483-8d09-a7ed47603308
path: /Users/renew/Downloads/mac_arm64_3.0.0.dmg
3. 查询公证进度
公证需要一定的时间,可随时查询公证进度 (正常情况下,一般3-10分钟左右)
xcrun notarytool info {id} --keychain-profile "MY_PASSWORD"
- {id}: 上一步生成的id值
- --keychain-profile: 公证凭证
查询成功后,可查询到如下信息
Successfully received submission info
createdDate: 2023-12-08T17:10:18.461Z
id: e1c17380-6164-4483-8d09-a7ed47603308
name: mac_arm64_3.0.0.dmg
status: Accepted
4. 将公证信息注入到安装包中
xcrun stapler staple {appPath}
公证成功后,将公证信息注入到你的安装包中
5.验证DMG是否已公证
xcrun stapler staple -v {appPath}
正常情况下,会输出The staple and validate action worked!的字样.
大功告成
提示注入成功后,你的安装包就可以在互联网上传播,下载以及安装是不会提示危险软件了。
更重要的一点是,公证是MacOS应用能自动下载并安装新版本的前提,没有公证的更新包,是无法实现自动更新这个功能的.
所以,如果你开发了MacOS应用,又没有走AppStore渠道,公证是你一定要去做的.
需要知道的是,MacOS的公证并不涉及人工审核,是一个自动化的流程,基本上只要你有Apple开发帐号,打的包又是按照苹果规范来的,就不存在公证被否的可能性.