【问题标题】:Unable to sign kext on Mac 10.9.5无法在 Mac 10.9.5 上签署 kext
【发布时间】:2014-09-16 17:57:25
【问题描述】:

我有两个 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 之一仍然失败。

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

【问题讨论】:

  • 似乎它已经被签名(参见“替换现有签名”)。也许 V2 codesign 工具在替换旧的 V1 签名时有问题??我会尝试签署新建的(未签名的)kext。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 2023-03-30
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多