macos - 具有有效签名的 macOS Kext 在第二次安装后被拒绝(高山脉)
问题描述
在之前安装了我的产品的机器上,由于 kext 签名被拒绝,第二次安装失败。
我在某些地方看到了相同的错误,例如这里:https://support.eset.com/kb6570,但是即使在恢复模式下清除 kext_policy 表并在设置中手动批准 kext --> 安全性下次启动时,kext 似乎仍然未经批准。
例如,运行 kextutil 提供以下内容:
Kalyan:~ KalyanPentakota$ sudo kextutil /Library/Extensions/mycompanyAT.kext/
Password:
Kext rejected due to insecure location: <OSKext 0x7f8e9ff02e20 [0x7fffa11c8af0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/mycompanyAT.kext/", ID = "com.mycompany.at" }
Kext rejected due to insecure location: <OSKext 0x7f8e9ff02e20 [0x7fffa11c8af0]> { URL = "file:///Library/StagedExtensions/Library/Extensions/mycompanyAT.kext/", ID = "com.mycompany.at" }
Diagnostics for /Library/Extensions/mycompanyAT.kext:
数据库中的 kext 批准状态:
sqlite> select * from kext_policy;
XE2XNRRXZ5|jp.co.canon.bj.print.BJUSBLoad|1|Canon Inc.|8
KBVSJ83SS9|com.citrix.kext.gusb|1|Citrix Systems, Inc.|8
MK9BR98H51|com.mycompany.at|1|My Company Ltd|1
Kext 证书验证:
Kalyan:~ KalyanPentakota$ codesign -dvv /Library/Extensions/mycompanyAT.kext/
Executable=/Library/Extensions/mycompanyAT.kext/Contents/MacOS/mycompanyAT
Identifier=com.mycompany.at
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=8179 flags=0x0(none) hashes=250+3 location=embedded
Signature size=4651
Authority=Developer ID Application: My Company Ltd (MK9BR98H51)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Signed Time=Jun 5, 2018 at 6:05:21 AM
Info.plist entries=22
TeamIdentifier=MK9BR98H51
Sealed Resources version=2 rules=13 files=1
Internal requirements count=1 size=212
我也尝试过删除/Library/StagedExtensions/Library/,但它也没有改变任何东西。
解决方案
我遇到过同样的问题。
/Library/StagedExtensions 的标志必须是“restricted”:
ls -laO /Library/StagedExtensions/
drwxr-xr-x@ 4 根轮限制 128 Nov 15 2017 StagedExtensions
如果没有,请从恢复模式尝试以下 cmd:
chflags -R restricted /V*/*/Library/StagedExtensions
重新启动并尝试安装 kext。
推荐阅读
- scala - Constructor.newInstance 替换 Scala 对象
- machine-learning - 将多个模型的输出与 CTC 输出层相结合(集成)
- visual-c++ - 为什么 [ebp-8] 是 Visual C++ 中第一个局部变量的位置?
- android - 是否可以将两个不同的应用程序上传到具有高度相似代码库的 Apple Store 和 Play Store?
- redirect - Laravel 重定向到带有参数的命名路由返回状态 200
- bash - 每天保留一个文件,一个 3 天和 1 周,并删除其他文件
- angular - 没有为作者字段触发角度表单验证
- c# - 如何从 OkObjectResult 获取动态属性
- github - 如何使用 Pygithub API 执行“拉”命令
- c# - 为什么这个 XPath 表达式适用于一个节点而不适用于另一个节点?