无法在Mac 10.9.5上签署kext

时间:2014-09-16 17:57:25

标签: macos osx-mavericks code-signing kernel-extension osx-gatekeeper

我有两个kexts,使用相同的Xcode在同一台机器上构建。当我尝试在Apple 10.9.5上使用支持kext的证书对每个kext进行签名时,一个成功并获得V2证书,另一个失败 - 见下文:

codesign -f -s "Developer ID Application: myCompanyname" kextname.kext/
kextname.kext/: replacing existing signature
kextname.kext/: main executable failed strict validation

当我打印出代码符号-dvvv时,它显示签名是V2。

我比较了两个kexts的info.plist文件,并确保了Apple指定的必填字段。我没有在codesign命令中使用资源规则,但是两个kexts中的一个仍然失败。

我搜索了论坛/谷歌,但不知道“严格验证”是什么,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

是的,我上周遇到了这个问题,发现你现在需要一个特殊的证书来签署关键字。请参阅右下角的https://developer.apple.com/developer-id/,您可以在那里申请证书。

目前,作为临时解决方法,您可以在终端中键入以下命令: sudo nvram boot-args =" kext-dev-mode = 1" 并重新启动计算机。它基本上告诉你的机器忽略kexts上的无效签名。