Windows 8 的驱动程序签名要求有何变化?

我有一个直通 NDIS 中间驱动程序,由两个 .inf 文件(一个标准和一个微型端口)和一个 .sys 文件.由于 Windows 7 驱动程序签名要求,我必须获得代码签名证书并对 .sys 文件进行签名,以便驱动程序安装在 64 位系统上.这很好用,而且我有很多成功的 Windows 7 安装.

I've got a passthrough NDIS intermediate driver, consisting of two .inf files (one standard and one miniport) and a .sys file. Because of the Windows 7 driver signing requirements, I had to get a code-signing certificate and sign the .sys file in order for the driver to install on a 64-bit system. This works fine, and I have many successful Windows 7 installs.

但是,相同的安装程序在 Windows 8 Consumer Preview(64 位)上失败.如果我在关闭 Windows 签名强制的情况下启动,它会正确安装,所以这绝对是签名问题.在 Windows 7 和 Windows 7 之间增加了哪些新要求?我需要遵循 Windows 8 才能安装驱动程序?

However, the same installer fails on the Windows 8 Consumer Preview (64-bit). If I boot with Windows Signature Enforcement turned off, it installs correctly, so it's definitely a signature issue. What new requirements were added between Windows 7 & Windows 8 that I need to follow in order to get my driver to install?

推荐答案

重新生成 cat 文件,使其符合新 Window 操作系统的签名要求.

Regenerate your cat file(s) so that they comply with the signing requirements for the new Window OS.

例如,在我的构建脚本中,我必须将 8_X86,8_X64 添加到我的 inf2cat 命令中:

For example, in my build script I had to add 8_X86,8_X64 to my inf2cat command:

inf2cat /driver:"%CD%" /os:XP_X86,XP_X64,Vista_X86,Vista_X64,7_X86,7_X64,8_X86,8_X64

<小时>

对于 Windows 8.1,您将需要 Windows Driver Kit (WDK) 8.1 中包含的 inf2cat,并根据您的目标添加 6_3_X646_3_X866_3_ARM 到/os:WindowsVersionList.


For Windows 8.1, you will need the inf2cat included in Windows Driver Kit (WDK) 8.1 and depending on your target(s) add 6_3_X64, 6_3_X86, or 6_3_ARM to the /os:WindowsVersionList.

参考,Inf2Cat

相关文章