首页 > 解决方案 > 2019 年 4 月 7 日之前签署的内核扩展无法在 macOS 10.14.5 上加载

问题描述

我安装了 macOS 10.14.5 (18F132) 并拥有三种不同的产品版本,如下所示:

案例 1. 2018 年 10 月在 macOS 10.9.5 上签名的内核扩展(带有 —timestamp=none)这些扩展在 macOS 10.14.5 上成功加载。

案例 2. 2019 年 2 月在 macOS 10.9.5 上签名的内核扩展(带有 —timestamp=none)这些扩展无法在 macOS 10.14.5 上加载。

案例 3. 2019 年 6 月在 macOS 10.13.6 上签名的内核扩展(带有 —timestamp)这些扩展使用 Apple 公证服务进行公证,并在 macOS 10.14.5 上成功加载

我的查询是:根据 macOS 14.5 发行说明:2019 年 4 月 7 日之后签署的内核扩展必须经过公证才能在 macOS 10.14.5 上加载,但在提到的情况下,2019 年 2 月签署的#2 扩展无法加载。

如果我们认为这是由于缺少时间戳,那么如何成功加载 case#1 内核扩展?

在某些地方,我们的观察与 macOS 10.14.5 的发行说明不符,但我们无法理解其背后的原因。

标签: macos-mojavekernel-extensionosx-gatekeepernotarize

解决方案


如果我们认为这是由于缺少时间戳,那么如何成功加载 case#1 内核扩展?

macOS 包含大量内核扩展白名单,尽管没有签名或签名不正确,它仍允许加载这些扩展。这可以在文件/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist中的键OSKextSigExceptionHashList和下找到OSKextStrictExceptionHashList

也许较旧的 kext 是由 Apple 明确列出的?


推荐阅读