Windows 7,数字签名驱动程序显示警告:Windows无法验证此驱动程序软件的发布者

Windows 7,数字签名驱动程序显示警告:Windows无法验证此驱动程序软件的发布者,windows,digital-signature,drivers,kernel-mode,driver-signing,Windows,Digital Signature,Drivers,Kernel Mode,Driver Signing,我正在尝试安装结构简单的windows USB驱动程序(仅包含以下内容- app.inf app.cat WdfCoInstaller01005.dll WinUSBCoInstaller.dll )。 驱动程序是使用Digicert颁发的有效标准内核模式代码签名证书sha 256签名的。当我看到app.cat文件的属性时,我可以在该文件中看到数字签名。 我正在尝试通过Windows 7 SP1 64位计算机中的install shield安装程序安装驱动程序,并安装了所有最新更新(包括KB

我正在尝试安装结构简单的windows USB驱动程序(仅包含以下内容-

  • app.inf
  • app.cat
  • WdfCoInstaller01005.dll
  • WinUSBCoInstaller.dll
)。 驱动程序是使用Digicert颁发的有效标准内核模式代码签名证书sha 256签名的。当我看到app.cat文件的属性时,我可以在该文件中看到数字签名。 我正在尝试通过Windows 7 SP1 64位计算机中的install shield安装程序安装驱动程序,并安装了所有最新更新(包括KB3033929)。它仍然显示警告Windows无法验证此驱动程序软件的发布者

为了解决这个问题,我尝试了在目标机器上安装证书,这是我的建议之一。还是没有希望

在生成.cat文件和签署.cat文件的过程中,我使用了以下命令。(没有.sys文件)

编辑添加更多信息

我也尝试过Sha256签名(参考(部分:Internet Explorer或Chrome for Windows)

但我还是犯了同样的错误

编辑2-添加Inf文件的源

请参考下面的.inf文件的源代码(可能是少量遗留文件)

我已经核实了反签名的详细信息。请参考下图

  • 用于交叉签名的证书指纹(指纹:2f 25 13 af 39 92 db 0a 3f 79 70 9f f8 14 3b 3f 7b d2 d1 43 DigiCert高保证EV根CA交叉证书)
  • 可以从签名文件的属性中看到的交叉签名证书的指纹是‎40 01 91 47 5c 98 89 1d eb a1 04 af 47 09 1b 5e b6 d4 cb (我不知道是否正确)


请提供帮助。我在这方面花了很多时间,但最终还是没有结果。这方面的任何帮助都非常有用。

WinUSB随Windows 7提供,因此您可以通过不使用共安装程序来减少驱动程序包的大小。您的
/ac
参数看起来可疑;您确定这是交叉证书吗?您可以发布链接to下载它的位置。发布错误的屏幕截图也很好,我不确定这是否是安装时错误。此外,我写了一篇文章,您可能会觉得有用。实际上,我认为您不需要使用
/ac
参数指定交叉证书,因为您没有对内核模式驱动程序进行签名。另外,您的您的signtool调用指定了要使用哪个发布者证书?此外,您应该使用
/fd sha256
,因为SHA1已被弃用,但我认为这不会解决您的问题。@DavidGrayson,谢谢您的评论。我已从以下Digicert文档中尝试过。(部分:Internet Explorer或Chrome for Windows)。我想知道这是否是InstallShield错误。如果您将INF和CAT文件以及所有必需的文件放在一个目录中,然后通过右键单击并选择“安装”来安装INF文件,是否会收到相同的错误消息?在INF文件中需要一个DefaultInstall节(添加后不要忘记重新签名)。
Inf2Cat /driver:"C:\CodeSigning" /os:7_X64,7_X86

C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64>signtool.exe si
gn /v /ac "C:\CodeSigning\DigiCert High Assurance EV Root CA.crt"  /a /t ht
tp://timestamp.digicert.com  "C:\CodeSigning\Driver\app.cat"
signtool sign /v /ac "C:\path\DigiCert High Assurance EV Root CA.crt" /a /tr http://timestamp.digicert.com /td sha256 /fd sha256 "c:\path\to\FileToSign.cat"
[Version]
Signature = "$Windows NT$"
Class =XYZdevice
ClassGuid={ad769fbf-c592-4b8c-940a-6e3782a545e8}
Provider = %ProviderName%
DriverVer=10/13/2017,6.00.2064
CatalogFile=%MFGFILENAME%.cat

; ========== Manufacturer/Models sections ===========

[Manufacturer]
%ProviderName% = XYZInc,NTx86,NTamd64

[XYZInc.NTx86]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_1448&PID_4AC0&REV_0001

[XYZInc.NTamd64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_1448&PID_4AC0&REV_0001

; =================== Installation ===================

[ClassInstall32]
AddReg=SampleClass_RegistryAdd

[SampleClass_RegistryAdd]
HKR,,,,%ClassName%


;[1]
[USB_Install]
Include=winusb.inf
Needs=WINUSB.NT

;[2]
[USB_Install.Services]
Include=winusb.inf
AddService=WinUSB,0x00000002,WinUSB_ServiceInstall

;[3]
[WinUSB_ServiceInstall]
DisplayName     = %WinUSB_SvcDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\WinUSB.sys

;[4]
[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install

[WinUSB_Install]
KmdfLibraryVersion=1.5

;[5]
[USB_Install.HW]
AddReg=Dev_AddReg

[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{15630179-b622-4834-8ff7-9916b1446884}"

;[6]
[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01005.dll,WdfCoInstaller","WinUSBCoInstaller.dll"

[CoInstallers_CopyFiles]
WinUSBCoInstaller.dll
WdfCoInstaller01005.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

; ================= Source Media Section =====================
;[7]

[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64

[SourceDisksFiles.x86]
WinUSBCoInstaller.dll=1
WdfCoInstaller01005.dll=1

[SourceDisksFiles.NTamd64]
WinUSBCoInstaller.dll=2
WdfCoInstaller01005.dll=2

; =================== Strings ===================

[Strings]
MFGFILENAME="XYZDevice"
ProviderName="XYZ Inc"
ClassName="XYZ device"
USB\MyDevice.DeviceDesc="XYZ"
WinUSB_SvcDesc="XYZ"
DISK_NAME="Drivers"