- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Yosemite 的 kext 上进行了代码签名。但 kextload 失败。
这是版本 2 的协同设计。 codesign --verify
为真。
但是 kextload 失败。为什么不在优胜美地加载?
这是我的日志。
我已经检查过codesign -dvvv ./myKext.kext
,一切正常。
codesign -dvvv ./myKext.kext
返回以下内容:
Executable=/Path/to/myKext
Identifier=com.myKext.kext.Firewall
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=317 flags=0x0(none) hashes=9+3 location=embedded
Hash type=sha1 size=20
CDHash=d0ff68bd8b49c650f45349c2d1570d45a8c1f148
Signature size=8544
Authority=Developer ID Application: My Kext Co., Ltd. (R2PBZJ465V)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=2014. 10. 31. 오전 11:09:35
Info.plist entries=18
TeamIdentifier=not set
Sealed Resources version=2 rules=12 files=1
Internal requirements count=1 size=188
显示版本2。
但是 sudo kextload ./myKext.kext 返回以下内容:
/Path/to/myKext.kext failed to load - (libkern/kext) not loadable (reason unspecified); check the system/kernel logs for errors or try kextutil(8).
cat/var/log/system.log
返回:
com.apple.kextd[19]: ERROR: invalid signature for com.myKext.kext.Firewall, will not load
sudo kextutil -l ./myKext.kext
返回:
Diagnostics for ./myKext.kext:
Code Signing Failure: code signature is invalid
ERROR: invalid signature for com.myKext.kext.Firewall, will not load
为什么签名无效?!
我已在 Yosemite 中签署了 version2 codesign。
我做错了什么标志?请有人教我。
最佳答案
我也遇到了同样的问题。我得到了与您分享的解决方案。
Apple 更改了 Mac 开发者计划,并从中删除了 kext 认证。因此,即使您是 Mac 开发者计划的成员,您也不会获得 kext 开发认证,除非您通过 Developer ID and Gatekeeper 请求。 .
顺便说一句,苹果说,
"KEXT signing is intended for signing commercially shipping kexts or projects broadly distributed in a large organization."
因此,我们可以做的是通过添加“kext-dev-mode=1”boot-arg 在 KEXT 开发模式上运行我们的 Kext。就像,
sudo nvram boot-args="debug=0x146 kext-dev-mode=1"
然后重新启动。
希望这对您有所帮助。
关于macos - codesigned kext 但为什么不在 Yosemite(10.10) 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671885/
我正在构建内核扩展并为其创建一个 .kext 目录。从另一个库 API,我正在使用 KextManager APIs将这个 kext 加载到内核中。 一切看起来都很好,这是我加载 kext 的代码片段
在某些用户定义的事件期间,如何在 CPU、内存或线程使用方面衡量 OS X 中 kext 的性能影响?任何可以从用户空间使用的特定方法工具?或任何可以考虑的方法/方法? 最佳答案 您基本上有两个选择:
大多数防病毒软件如何在文件受感染时阻止文件系统 io?我想所有的魔力都在于一些自定义的 kext 来做到这一点。有人能给我指出一些与此相关的主题吗?一些工作示例也很棒。我读过有关 kext 开发的苹果
我有一个需要 kext 的 Mac OS X 应用程序(也是我构建的)。我想将kext“捆绑”到应用程序中,这样当用户运行应用程序时,kext就会自动加载(当然,可能会提示输入管理员密码)。是否可能,
我尝试在运行 11.4 Beta (20F5046g) Big Sur 的 M1 机器上加载 kext 模块,并在加载 kext 模块时遇到一些关于绑定(bind)的错误消息。 访问从 Apple k
我为热插拔 SCSI 设备编写了一个设备驱动程序 kext,有点基于 Wagerlabs code (使用驱动程序-用户客户端-应用程序模型)并且一切正常。唯一剩下的问题是驱动程序似乎没有一直被释放,
在 KEXT 中,我需要做一些处理,在那里我会得到一个 proc_t 或只是一个 pid。 如果我走 pid 路线,我会做各种各样的 sysctl() 。 不幸的是,我也做不到。 proc_t 是未定
我正在开发 Kext,它应该可以访问 struct proc->p_pid field 。问题是该结构仅在 XNU 源中定义,所以我面临 incomplete definition of type '
回到 IOKit 的工作(El Capitan 带来的 USB 变化似乎相当彻底),我发现调试 kext panic 日志是后端的一个痛苦。 在我开发和测试时,是否可以将符号保留在内核扩展中,以便它们
我正在构建一个 kext,以在 OS X 上提供额外的安全层(围绕 KAtuh 构建)。我在用户空间中使用一个客户端,通过套接字连接到 kext(按照 Apple 的建议),并基本上控制 kext。由
回到 IOKit 的工作(El Capitan 带来的 USB 变化似乎相当彻底),我发现调试 kext panic 日志是后端的一个痛苦。 在我开发和测试时,是否可以将符号保留在内核扩展中,以便它们
在 KEXT 中,我正在通过 vnode 或文件范围监听器监听文件关闭。对于某些(很少)文件,我需要将文件路径发送到我的系统守护进程,该守护进程会进行一些处理(这必须在守护进程中发生)并将结果返回到
在一个项目中,我最近尝试在 osx 10.9.5 上通过 libusb 访问 USB 存储设备。但显然一些默认驱动程序声称该设备,我无法访问它。当我尝试通过 libusb 访问它时,它返回我有“权限不
只是想知道是否有可能在 kext 中为给定的 proc_t 获取任务。我试过 task_for_pid() ,但由于某种我不记得的原因没有用。我尝试了 sys/proc.h 中的 proc_task(
我有两个 kext,kextA 和 kextB。在 kextA 中,我试图动态转换(使用 OSDynamicCast)一个指向 kextB 中的类的指针。 $ sudo kextutil -n -t
我最近在为 osx 10.9 编写内核模块,发现我编译的最终二进制文件中的每个符号都未被 nm 工具定义。 如何通过在build设置中指定标志来完成?我的意思是,当您构建用户模式应用程序时,如果它有未
我需要覆盖一个由kext定义的方法来做我自己的处理并返回我自己的值,所以每当kext调用这个方法时,它就会被路由到我的。所以我想做的是在我自己的内核扩展中定义这个方法,然后加载它。 问题是我不知道如何
我们有一个音频内核扩展,它安装在/Library/Extensions 中。 根据苹果新指南(WWDC 视频 707),我们应该对安装/Library/Extensions 的 kext 进行编码。
我有一个有效的 OSX 内核扩展,我希望在启动时尽早自动加载它。 kext 正在使用 KAUTH用于监视特定路径上的访问,因此在我看来,不会有任何东西会要求将其加载到内核中。在这种情况下,将其复制到
在之前安装了我的产品的机器上,由于 kext 签名拒绝,第二次安装失败。 我在某些地方看到过同样的错误,例如这里:https://support.eset.com/kb6570 ,然而,即使在恢复模式
我是一名优秀的程序员,十分优秀!