Windows 8 驱动程序安装和目录/签名验证

问题描述 投票:0回答:4

我无法让 Windows 8(发布预览版)接受 inf2catmakecat 方法,该方法被描述为问题的解决方案

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

除非我禁用验证。

我目前没有使用任何证书签署这些文件,只是试图克服阻止驱动程序安装的错误。

Windows 8 给了我一个非常不起眼的错误:

“尝试将驱动程序添加到商店时遇到问题。”

查看事件日志,没有什么用处;仅来自“Windows 错误报告”的信息条目,指示 PnPdriverimporterror

当我将原始文件与与 inf 不匹配的 cab 文件一起使用时,我收到其他人都列出的错误:

文件的哈希值不存在于指定的目录文件中。

我有一个

.inf
文件,我需要为其生成
.cat

也许我做错了什么。想法??

INF2CAT 方法

c:\win_xp_vista32_64>inf2cat /driver:"." /os:XP_X86,XP_x64,Vista_X86,Vista_x64,7_X86,7_X64,8_X86,8_X64

.......................
Signability test complete.

Errors:
None

Warnings:
22.9.10: usbser.sys in [drivercopyfiles.nt] is missing from [SourceDisksFiles] s
ection in \mchpcdc.inf; ok if file source is provided via LayoutFile in [Version
].
22.9.10: %driverfilename%.sys in [drivercopyfiles.ntamd64] is missing from [Sour
ceDisksFiles] section in \mchpcdc.inf; ok if file source is provided via LayoutF
ile in [Version].

Catalog generation complete.
c:\win_xp_vista32_64\mchpcdc.cat

MAKECAT方法

--- start of catalog.cdf file---

[CatalogHeader]
Name=mchpcdc.cat
ResultDir=.\
[CatalogFiles]
<hash>mchpcdc=.\mchpcdc.inf
---end of .cdf file ---


c:\win_xp_vista32_64>makecat catalog.cdf

这些相同的文件,无论使用哪种方法,都可以在 Windows 7 中正常安装。

installation driver windows-8 digital-signature inf
4个回答
5
投票

我认为这个问题与“Windows 驱动程序签名执行”有关。您可以通过禁用此选项来解决此问题。请通过以下链接进行操作:

http://tivadj-tech.blogspot.in/2012/09/certificate-check-error-when-installing.html


4
投票

我刚刚在 Windows 10 和 8 PRO 上对此进行了测试,要获得正确的结果,请按照以下步骤操作:

1) 从“开始”菜单中,找到 DDK 的“x64 Checked Build Environment”,即自定义 DOS 构建屏幕。右键单击,以管理员身份运行...

2) 使用构建工具等编译源代码。

3)进入您编译的代码,然后创建您的测试证书(您还不需要购买一个,使用通过以下行创建的自签名证书):

makecert -r -pe -ss PrivateCertStore -n CN=newhex.com(测试) NewhexTest.cer

以上表示您的证书名为“newhex.com(Test)”,生成的文件为“NewhexTest.cer”

4) 创建/编辑您的 .CDF 文件,其中包含有关 CAT 文件内容的项目。

5) 通过执行以下命令创建 CAT 文件:

makecat -v MyCDF.CDF

这应该生成一个未签名的 CAT 文件,其中包含 CDF 指定的所有文件。

6) 按如下方式签署您的 CAT 文件:

Signtool 签名 /v /s PrivateCertStore /n newhex.com(test) /t http://timestamp.verisign.com/scripts/timestamp.dll MyDriverWhatever.cat

这应该会生成一个已签名的 CAT 文件,但不要只是安装它,因为您的 Windows 无法信任 Newhex 的证书,因为它不在密钥库中,要修复此问题,请执行以下操作:

7)将您的证书添加到您的私钥存储中,请记住此步骤必须由管理员访问权限完成,否则您将收到有关(找不到密钥存储等)的错误:

certmgr.exe -add NewhexTest.cer -s -r localMachine root

这应该添加到您的密钥库中,完成后,您可以:

8)进入您的设备管理器,并添加新的驱动程序,您会收到警告,但会被接受并安装,无需强制重新启动(不要检查证书类型帐户)。

我已经尝试过了,它适用于 Windows 10 和 Windows 8 专业版。

亲切的问候 海德·萨蒂


1
投票

你应该使用 inf2cat,而不是 makecat,因为你有一个 INF 文件。

您应该通过修复 INF 文件来解决来自 inf2cat 的这些警告。这是我的 INF 文件,它使用 usbser.sys 并且不会引起任何警告:https://gist.github.com/3647208

感谢 chinzei 在本线程第一篇文章中的建议,我能够修复我的 INF 文件:http://www.microchip.com/forums/m488342-print.aspx

如果您仍然遇到问题,请编辑您的问题以包含 INF 文件的来源,或至少包含源链接。


0
投票

我遇到了同样的问题,并且能够使用此处提供的说明安装带有测试证书的驱动程序:

http://msdn.microsoft.com/en-us/windows/hardware/gg487328.aspx

© www.soinside.com 2019 - 2024. All rights reserved.