【问题标题】:Kext Code sign error in Mavericks小牛队中的 Kext 代码签名错误
【发布时间】:2023-03-12 00:24:01
【问题描述】:

我们有一个音频内核扩展,它安装在 /Library/Extensions 中。 根据苹果新指南(WWDC 视频 707),我们应该对安装 /Library/Extensions 的 kext 进行代码签名。 我们要求苹果为我们的开发者 ID 启用 kext 代码签名属性,现在它已启用。根据我们从苹果收到的邮件回复是这样的

如果您之前获得了用于应用签名的开发者 ID,则需要重新下载您的开发者 ID 以获得更新的证书。

因此我们重新下载了证书并对 kext 进行了代码签名。代码编译正常但是当我们尝试使用以下命令验证代码符号时 sudo kextutil -tn KEXTPATH

它给出了以下错误- 代码签名失败:代码签名无效 KEXT_PATH 似乎是可加载的(包括磁盘库的链接)。

谁能帮我解决这个错误。

【问题讨论】:

  • 尝试执行sudo kextutil -v KEXTPATH 并查看输出指示。也可以试试codesign -dvvv KEXTPATHcodesign --verify -vvvv 来确定更多关于你的共同签名的信息。
  • 谢谢。我会试试这些命令
  • 还要确保您使用的是 XCode 3.5 或(最好)4.x 中的 codesign。较旧的 XCode 版本可能无法签署 kexts。
  • 嘿@Sprabhu,你找到解决方案了吗?
  • @MattyAyOh 是的。此问题是由于开发人员 ID 证书造成的。我们已创建新的开发人员 ID 证书,如 WWDC 视频 707 中所述。

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


【解决方案1】:

除了用于 kexts 代码签名的开发者 ID 证书之外,您还需要对 10.9 及更高版本的内核扩展进行代码签名。

你不能在 10.8 上签名,安装在 10.9 -> /Library/Extensions

我不确定这是否有助于解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多