在安装 macOS 软件的时候小伙伴们经常会看到签名有效/签名无效等字样。在运行软件的时候有时候会出现已损坏,不受信任的开发者

什么是签名?

代码/应用签名是一种 macOS 安全技术,用于证明应用程序的来源。一旦应用程序被签名,系统就可以检测到应用程序的任何更改。无论更改是意外引入的还是由恶意代码引入的,比如对应用程序进行任何修改都会使签名失效。

要对应用进行签名,你需要注册苹果开发者账户,然后购买苹果开发者证书(分为个人和企业)。价格的话个人 99 美元,企业 299 美元。

签名证书分类

类型描述
Apple Development通用的:为 iOS、macOS、tvOS 和 watchOS 应用程序签名。
Apple Distribution提交到 App Store 或进行临时分发时使用。
iOS App Development对 iOS 应用程序签名,一般用于开发测试。
iOS Distribution (App Store 和 Ad Hoc)对 iOS 应用程序签名然后提交到 App Store 或进行临时分发。
Mac Development对 Mac 应用程序签名,一般用于开发测试。
Mac App Distribution对 Mac 应用程序签名并配置分发文件提交到 Mac App Store。
Mac Installer Distribution对 Mac 应用程序的安装包签名然后提交到 Mac App Store。
Developer ID Installer对应用程序的安装包签名,用于非 Mac App Store 分发。
Developer ID Application对应用程序签名,用于非 Mac App Store 分发。
Ad Hoc对应用进行临时签名

应用公证

当对应用签名后还需要将应用提交给苹果进行公证,经过苹果公证后的应用程序理论上则为安全的。公证简单点来说就是苹果检查应用是否包含恶意代码,如果包含则拒绝,未包含则回执经过公证的应用程序包。

公证让用户可以更加放心,确信用 Developer ID 签名的应用已通过 Apple 的恶意组件检查。公证并不是 App Review 审核,Apple 公证服务是一个自动化系统,它会扫描应用中有没有恶意内容,检查代码签名是否存在问题,并将结果快速反馈。如果没有问题,公证服务会生成一个凭证并内嵌到应用中。

当用户首次安装或运行您的软件时,“Gatekeeper 门禁”通过该凭证进行联网验证,这样可确保该软件已经过 Apple 公证。然后,“门禁”会在初始启动对话框中置入描述信息,让用户能明智地决定是否启动相应的 app。

自 macOS 10.14.5 开始,用新 Developer ID 证书签名的软件以及所有新的或更新的内核扩展都必须经过公证才能运行。自 macOS 10.15 开始,所有在 2019 年 6 月 1 日后构建并使用 Developer ID 分发的软件都必须经过公证。不过,通过 Mac App Store 分发的软件不需要进行公证,因为 App Store 提交流程中已包含同等的安全性检查。

不签名/签名失效会怎样?

此时运行应用的时候会有以下提示:

类型描述
xxx已损坏,无法打开,你应该将它移到废纸篓解决办法这是应用未签名/应用被修改导致签名失效引起的
打不开 xxx,因为它来自身份不明的开发者这是应用签名但是未公证引起的
打不开xxxx,因为 Apple 无法检查其是否包含恶意软件这是证书到期/证书被苹果删除/开发者不小心将证书删除引起的

如果应用未签名你将无法追溯应用的来源(开发者信息)。

应用被修改会导致应用原始的签名失效,此时应用和未签名是一样的,将无法判断应用是否包含恶意代码。

开源软件大多都没有购买开发者证书对应用签名,而破解版几乎都会修改应用文件,此时你需要自行判断应用来源是否安全。

macOS绕过公证和应用签名方法

绕过公证

1.打开终端,输入以下命令:

sudo xattr -rd com.apple.quarantine /Applications/xxxxxx.app

其中「xxxxxx.app」是你无法运行的程序的名称,如:「SPlayer.app」,然后按键盘的回车键(Enter),输入密码后按回车键即可完成!

2.复制以下命令粘贴到终端

sudo xattr -rd com.apple.quarantine

打开Finder(访达),点击左侧的 「应用程序」,将应用拖进终端中,然后按键盘的回车键(Enter),输入密码后按回车键即可完成!好了再看一下是不是可以打开APP了!如果还不行,那就需要对应用进行本地应用签名操作! 继续往下看:

应用签名

先安装Command Line Tools 工具,打开终端工具输入如下命令:

xcode-select --install

弹出安装窗口后选择继续安装,安装过程需要几分钟,请耐心等待。

打开终端工具输入并执行如下命令对应用签名:

sudo codesign --force --deep --sign - (应用路径)

注意:应用路径是「访达(Finder)->应用程序」找到应用将其拖进终端命令 – 的后面,然后按下回车键,输入macOS的密码然后按回车(输入过程中密码是不显示的,输入完密码直接按回车键即可!)

出现 「replacing existing signature」 提示即成功!

版权声明:原创文章,未经允许不得转载,否则将追究法律责任。
本站资源有的自互联网收集整理,如果侵犯了您的合法权益,请联系本站我们会及时删除。
本站资源仅供研究、学习交流之用,切勿商用!若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担!
本站客服:QQ:51887793 接受合理的软件安装破解问题,软件使用问题不在服务范围内,请自行研究。不解释无脑问题!