1

我有两个 kext,用相同的 Xcode 构建在同一台机器上。当我尝试在 10.9.5 上使用来自 Apple 的启用 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 命令中使用资源规则,但是两个 kext 之一仍然失败。

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

4

1 回答 1

0

Yes I had this problem last week and found out that you now need a special certificate to sign kexts. see https://developer.apple.com/developer-id/ on the bottom right, that's where you can apply for the certificate.

For now, as a temporary workaround you can type this command in your terminal: sudo nvram boot-args="kext-dev-mode=1" and restart your computer. It basically tells your machine to ignore invalid signatures on kexts.

于 2014-09-29T14:41:33.520 回答