我有两个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中的一个仍然失败。
我搜索了论坛/谷歌,但不知道“严格验证”是什么,有人可以帮忙吗?
答案 0 :(得分:0)
是的,我上周遇到了这个问题,发现你现在需要一个特殊的证书来签署关键字。请参阅右下角的https://developer.apple.com/developer-id/,您可以在那里申请证书。
目前,作为临时解决方法,您可以在终端中键入以下命令: sudo nvram boot-args =" kext-dev-mode = 1" 并重新启动计算机。它基本上告诉你的机器忽略kexts上的无效签名。