为什么需要代码签名?
代码签名是数字签名技术在软件分发中的应用,主要作用:
- 身份验证:证明软件来源的真实性和可信度
- 完整性保护:防止软件在传输过程中被篡改
- 信任建立:减少操作系统和用户的警告提示
- 分发要求:某些平台(如 macOS)要求签名才能分发
从我们开发者的角度,就是各个内容分发平台,定了一套自己的标准,我们必须遵循这个标准,我们的应用才能发布到对应的平台上。
目前桌面端的主要平台是:maxOS、windows。
macOS 代码签名
1. Apple Developer 账号准备
首先需要注册 Apple Developer 账号($99/年):
# 访问 Apple Developer 网站
# https://developer.apple.com/account/
# 注册开发者账号后,需要创建以下证书:
# 1. Developer ID Application(用于分发到 Mac App Store 之外)
# 2. Mac App Store(用于分发到 Mac App Store)
# 3. Development(用于开发测试)
2. 证书类型说明
| 证书类型 | 用途 | 分发范围 | 有效期 |
| Developer ID Application | 直接分发 | Mac App Store 之外 | 1 年 |
| Mac App Store | 商店分发 | Mac App Store | 1 年 |
| Development | 开发测试 | 本地和测试设备 | 1 年 |
3. 创建证书和配置文件
# 1. 在 Keychain Access 中创建证书签名请求(CSR)
# 打开 Keychain Access -> 证书助理 -> 从证书颁发机构请求证书
# 2. 在 Apple Developer 网站创建证书
# Certificates, Identifiers & Profiles -> Certificates -> + 号
# 3. 下载证书并安装到 Keychain
# 4. 创建 App ID(如果还没有)
# Certificates, Identifiers & Profiles -> Identifiers -> App IDs
# 5. 创建 Provisioning Profile(仅 Mac App Store 需要)
# Certificates, Identifiers & Profiles -> Profiles
4. electron-builder 配置
{
"build": {
"mac": {
"identity": "Developer ID Application: Your Name (TEAM_ID)",
"hardenedRuntime": true,
"gatekeeperAssess": false,
"entitlements": "build/entitlements.mac.plist",
"entitlementsInherit": "bui

最低0.47元/天 解锁文章
4220

被折叠的 条评论
为什么被折叠?



