带有无效签名的Kext可以在一台机器上加载,但不能加载另一台机器。为什么?

时间:2014-07-27 22:44:18

标签: macos digital-signature kernel-extension firewire

我有一台iMac和一台Macbook Pro。我更新了Yosemite beta(公共版)。 但我的音频接口Focusrite Saffire 24 DSP(Firewire)在iMac中正常工作,但在Macbook Pro上无法正常工作。

安装Saffire时,有一个Saffire.kext。 当它连接到iMac时,这个kext加载很好,没什么不寻常的。 连接到Macbook Pro时,不会加载此kext。 我尝试手动加载它,并收到一条错误消息,说它无法加载,因为kext的签名无效。

现在,我检查了两台计算机上的签名,他们都说签名无效。但它在iMac上加载很好,即使签名无效。

为什么?我不理解的是什么?

如果有帮助,这是一些控制台输出:

Mattiass-MacBook-Pro:Extensions mono$ codesign -dvvv Saffire.kext/
Executable=/System/Library/Extensions/Saffire.kext/Contents/MacOS/Saffire
Identifier=tc.tctechnologies.driver.Saffire
Format=bundle with Mach-O universal (i386 x86_64)
CodeDirectory v=20100 size=161 flags=0x0(none) hashes=1+3 location=embedded
Hash type=sha1 size=20
CDHash=ebc9c42dbea4f51770ff62d7de12552ae82a1fbc
Signature size=4240
Authority=Developer ID Application: TC Applied Technologies
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Signed Time=13 Mar 2014 02:58:23
Info.plist entries=19
TeamIdentifier=not set
Sealed Resources version=1 rules=4 files=0
Internal requirements count=1 size=180

Mattiass-MacBook-Pro:Extensions mono$ codesign --verify -vvvv Saffire.kext/
Saffire.kext/: invalid signature (code or signature have been modified)
In architecture: x86_64

(Saffire连接到Belkin Thunderbolt Dock,如果重要的话,它连接到MBP。)

更新

以下是日志中的错误消息。

28/07/14 00:51:33,693 com.apple.kextd[19]: ERROR: invalid signature for tc.tctechnologies.driver.Saffire, will not load

更新2:

我也让它在MBP中工作。 我找到了这篇文章:http://www.cindori.org/enabling-trim-on-os-x-yosemite/ 这导致我尝试这个命令:

sudo nvram boot-args="kext-dev-mode=1"

重启后,一切都恢复正常运行。

我的问题仍然没有答案,为什么它适用于iMac但不适用于MBP?

0 个答案:

没有答案