
Vorssaint签名指南ad-hoc、自签与Developer ID三种方式详解【免费下载链接】vorssaint-utilsFree and open-source macOS menu bar toolkit.项目地址: https://gitcode.com/GitHub_Trending/vo/vorssaint-utilsVorssaint 是一款免费开源的 macOS 菜单栏工具箱集成剪贴板管理、命令栏、系统监控、截图、窗口切换等实用功能。当你想本地构建或发布 Vorssaint时代码签名codesign绕不开它决定了应用能否稳定保留辅助功能、屏幕录制等权限。本指南将 Vorssaint 签名完整拆解为三种方式——ad-hoc、自签证书、Developer ID并附一键配置步骤新手也能快速上手。三种签名方式对比先选对再动手 Vorssaint 的构建脚本 build.sh 会按优先级自动选择签名身份Developer ID → 自签身份 → ad-hoc无需手动切换。三种方式的差异如下签名方式成本权限是否跨更新保留Gatekeeper 警告适用场景ad-hoc零成本❌ 每次构建都会重新提示授权⚠️ 有临时本地构建自签证书免费、离线✅ 是⚠️ 有日常本地开发Developer ID需 Apple 开发者账号✅ 是✅ 无配合公证官方发布、对外分发ad-hoc 签名零配置但每次构建都失忆全新克隆仓库后直接运行./build.sh由于系统钥匙串里没有任何签名身份Vorssaint 会自动以ad-hoc 模式codesign --sign -签名。✅ 优点零配置、零成本构建即刻可用❌ 缺点ad-hoc 签名的代码哈希每次构建都会变化macOS 会把它当成另一个应用于是辅助功能、屏幕录制等权限每次重新构建后都要重新授权如果你是偶尔试玩的本地构建ad-hoc 足够但只要你会反复构建强烈建议花 10 秒换成自签方案。自签证书一键配置权限更新后不再丢失 仓库自带的 Tools/setup-signing.sh 可以一次性创建稳定的自签身份只需运行./Tools/setup-signing.sh脚本完成的事情免费、离线、可重复执行用 OpenSSL 生成一张10 年期自签证书CN 为Vorssaint Utils Signing含codeSigning扩展密钥用途在独立钥匙串~/Library/Keychains/vorssaint-signing.keychain-db中导入证书并允许codesign工具访问将该钥匙串加入用户钥匙串搜索列表之后每次./build.sh都会自动使用这个身份签名所有本地构建拥有恒定的指定需求designated requirement——也就是说macOS 授予的权限在反复重建后依然有效。⚠️ 注意自签身份名称刻意保持为Vorssaint Utils Signing不改动因为它是签名匹配的查找键改名会让已授权的权限全部失效。自签不能替代 Apple 公证分发给他人时首次启动仍会出现未验证开发者提示。Developer ID 签名官方分发的终极方案官方发布流程使用的是 Apple 签发的Developer ID Application身份配合三个环节签名build.sh 检测到 Developer ID 后自动附加三个关键参数--options runtime启用加固运行时公证的硬性要求--timestamp安全时间戳--entitlements加载 Resources/Vorssaint.entitlements声明 Apple Events、摄像头、麦克风权限公证Tools/notarize.sh 将应用或 DMG提交给 Apple notarytool 服务并装订票据打包Tools/make-dmg.sh 封装出带安装界面的 DMG分发后 Gatekeeper 无任何安全警告 加固运行时默认会拦截 Apple Events、摄像头与音频输入而 Vorssaint 的访达剪切粘贴、相机预览、录音功能正好依赖它们所以 entitlements 文件逐条恢复了这些能力详见 Resources/Vorssaint.entitlements 内的注释。CI 环境配置两个脚本管好密钥与公证在持续集成环境中签名证书与公证凭据通过环境变量注入签名证书Tools/ci-setup-signing.sh 读取SIGNING_CERT_P12base64 编码的证书包与SIGNING_CERT_PASSWORD导入到 CI 临时钥匙串未配置时自动降级为 ad-hoc 构建公证凭据Tools/notarize.sh 需要三个变量——NOTARY_API_KEY_P8、NOTARY_KEY_ID、NOTARY_ISSUER_ID缺失时公证步骤安静跳过普通构建照常成功完整的权限配置与发布流程说明可参考 CONTRIBUTING.md 的 Stable signing 章节。常见问题签名后权限丢失或启动被拦截怎么办Q重新构建后权限失效了本地构建没有稳定签名身份时就会发生。运行一次 Tools/setup-signing.sh 即可根治若授权列表中出现旧条目先用减号按钮删除再重新授权详见 docs/TROUBLESHOOTING.md。QGatekeeper 提示未验证的开发者自签或 ad-hoc 构建属于正常现象在访达中右键 → 打开并确认或前往系统设置 → 隐私与安全性点击仍要打开。Q如何验证签名是否有效对应用包执行codesign --verify --deep --strict /Applications/Vorssaint.app无输出即代表签名完整有效。build.sh与make-dmg.sh打包前都会自动执行这一步校验。【免费下载链接】vorssaint-utilsFree and open-source macOS menu bar toolkit.项目地址: https://gitcode.com/GitHub_Trending/vo/vorssaint-utils创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考