首页 > 解决方案 > 在 macOS Catalina 中将未签名的 kext 列入白名单

问题描述

我最近买了一个旧的 Alesis io26 Firewire Audio 接口。上一个驱动程序版本仅适用于 Mountain Lion 和更早版本。一段时间后,我设法在 Catalina 上安装了上述驱动程序,方法是手动将 midi 驱动程序拖到 /Library/Audio/MIDI 驱动程序中,并通过 KEXT droplet 将内核扩展安装到 /System/Library/Extensions 中。我现在遇到的问题是,如果我的 SIP 被禁用,我的 mbpro 只能识别接口。我听说驱动程序没有签名,这就是 SIP 阻止它工作的原因。所以作为一个菜鸟,我怎么能以某种方式将该 kext 列入白名单,这样我就不必每次想要录制一些音频时都进入恢复模式并禁用 SIP。

标签: macosdrivercode-signingmacos-catalinakernel-extension

解决方案


执行此操作的 3 种“正确”方法可能不太可能:

  • 让原开发者签署kext
  • 以某种方式说服 Apple 将其添加到 macOS 的内置白名单中
  • 如果你自己有 kext 签名证书,你可以签名。(显然,Apple 不再发布这些。)

在实践中你能做的最好的可能是只使用命令禁用 SIP 的 kext 签名部分

csrutil enable --without kext

代替

csrutil disable

当然,这会使您的系统容易受到未签名的 kexts 的攻击,尽管我没有听说过任何专门针对禁用 kext 签名的 Mac 的恶意软件。


推荐阅读