ARM64平台UMDF2驱动安装失败:通用EXE证书不被识别且无法改测试签名
问题解答
是否必须使用KMDF驱动证书?
不是,但ARM64平台对UMDF2驱动的签名要求和x86/x64完全不同,你需要的是符合内核模式代码签名标准的证书,而非普通的EXE代码签名证书。
为何ARM64平台不接受用户模式证书?
核心原因是ARM64的安全启动策略比x86/x64更严格:
- x86/x64平台上,UMDF2驱动运行在用户态,属于普通用户模式组件,普通EXE代码签名证书就能通过系统验证。
- 但ARM64平台上,无论驱动是KMDF(内核态)还是UMDF2(用户态),只要是绑定驱动框架的组件,系统都会将其视为「驱动类代码」,强制要求使用内核级代码签名证书——也就是需要经过微软交叉签名的驱动专用证书;如果是测试场景,也得先关闭安全启动才能开启测试签名模式(你当前无法修改
testsigning状态,就是因为安全启动处于开启状态,这是系统的安全限制)。
可行解决办法
- 正式发布场景:申请加入Windows硬件开发者计划,获取驱动代码签名证书,将驱动提交给微软完成交叉签名,即可在开启安全启动的ARM64设备上正常安装。
- 测试场景:进入设备BIOS/UEFI设置关闭安全启动(部分ARM64设备可能有解锁限制),之后执行
bcdedit /set testsigning on,用自己的测试签名证书重新签名驱动即可安装。
内容的提问来源于stack exchange,提问作者Michael Chourdakis
相关产品推荐
相关产品推荐

