macos-mojave - 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 的发行说明不符,但我们无法理解其背后的原因。
解决方案
如果我们认为这是由于缺少时间戳,那么如何成功加载 case#1 内核扩展?
macOS 包含大量内核扩展白名单,尽管没有签名或签名不正确,它仍允许加载这些扩展。这可以在文件/System/Library/Extensions/AppleKextExcludeList.kext/Contents/Info.plist
中的键OSKextSigExceptionHashList
和下找到OSKextStrictExceptionHashList
。
也许较旧的 kext 是由 Apple 明确列出的?
推荐阅读
- excel - 日期字段混合(日期和文本)格式
- conv-neural-network - 除了取平均值之外,还有其他方法可以整合预测吗?
- php - jquery函数不执行php代码
- python - 计算多标签图像分类的 kappa 分数
- python - Matplotlib - 堆积条形图,底部
- javascript - 如何获得响应的第一个键值
- jquery - 在购物篮页面中编辑数量并使用更新按钮使用 ajax 发回数据
- python-3.x - TensorFlow Serving 队列中的请求数
- mysql - 如何按另一个表(多个表)的顺序从 MySQL 表中的管道中保存 Scrapy 项目?
- c++ - 使用 Clang 插件将不推荐使用的标签添加到声明中