【问题标题】:Create HCK and HLK tests for .inf file drivers required?需要为 .inf 文件驱动程序创建 HCK 和 HLK 测试?
【发布时间】:2017-08-21 20:46:22
【问题描述】:

我们有许多客户使用的硬件设备。我们支持 Windows 7 - 10 操作系统。该设备包含驱动程序和软件。该设备是在中国制造的,他们最终使用Cypress USB 驱动程序。 .inf 文件可以在下面找到。然后,这家中国公司在.inf 文件中添加了一些他们自己设备的参考资料,结合他们的软件,这神奇地使它工作。

我的背景不是 C++ 或任何与硬件相关的开发。现在我们有客户在安装和插入驱动程序时收到代码 52 错误。

Windows 无法验证此文件的数字签名。最近的硬件或软件更改可能安装了签名不正确或损坏的文件,或者可能是来自未知来源的恶意软件。

因此,经过大量谷歌搜索,这家中国公司似乎没有跟上最新的司机标准。较新的设备启用了安全启动,这会阻止未正确签名的驱动程序。

现在我想知道一些事情:

  • 是否需要通过各种 HCK/HLK/WLK 测试来获取我的驱动程序?我的驱动程序只是一个.inf 文件、.sys 文件和一个生成的.cat 文件。
  • makecab 生成一个.cab 文件就足够了吗?
  • 我的驱动程序实际上是内核模式驱动程序还是用户模式驱动程序?
  • 这当然会被测试:但是使用 EV 证书签署 cat 文件是否已经解决了这个问题?

对于一个简单的.inf 文件来说,通过 HCK 和 HLK 测试似乎需要做很多工作。虽然指导方针很清楚,但我不完全确定在我的场景中是否有我不需要做的特定事情。

.inf 文件代码:

; Installation INF for the Cypress Generic USB Driver for Windows 2000
; Processor support for x86 based platforms.
;
; (c) Copyright 2011 Cypress Semiconductor Corporation
;

[Version]
Signature="$WINDOWS NT$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
provider=%CYUSB_Provider%
CatalogFile=CYUSB.cat
DriverVer=10/17/2011,3.4.7.000

[SourceDisksNames]
1=%CYUSB_Install%,,,

[SourceDisksFiles]
CYUSB.sys = 1

[DestinationDirs]
CYUSB.Files.Ext = 10,System32\Drivers

[ControlFlags]
ExcludeFromSelect = *

[Manufacturer]
%CYUSB_Provider%=Device,NT,NTx86,NTamd64

;for all platforms
[Device]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX


;for windows 2000 non intel platforms
[Device.NT]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX


;for x86 platforms
[Device.NTx86]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX


;for x64 platforms
[Device.NTamd64]
;%VID_XXXX&PID_XXXX.DeviceDesc%=CyUsb, USB\VID_XXXX&PID_XXXX


[CYUSB]
CopyFiles=CYUSB.Files.Ext
AddReg=CyUsb.AddReg

[CYUSB.HW]
AddReg=CYUSB.AddReg.Guid

[CYUSB.Services]
Addservice = CYUSB,2,CYUSB.AddService

[CYUSB.NT]
CopyFiles=CYUSB.Files.Ext
AddReg=CyUsb.AddReg

[CYUSB.NT.HW]
AddReg=CYUSB.AddReg.Guid

[CYUSB.NT.Services]
Addservice = CYUSB,2,CYUSB.AddService


[CYUSB.NTx86]
CopyFiles=CYUSB.Files.Ext
AddReg=CyUsb.AddReg

[CYUSB.NTx86.HW]
AddReg=CYUSB.AddReg.Guid

[CYUSB.NTx86.Services]
Addservice = CYUSB,2,CYUSB.AddService

[CYUSB.NTamd64]
CopyFiles=CYUSB.Files.Ext
AddReg=CyUsb.AddReg

[CYUSB.NTamd64.HW]
AddReg=CYUSB.AddReg.Guid

[CYUSB.NTamd64.Services]
Addservice = CYUSB,2,CYUSB.AddService


[CYUSB.AddReg]
; Deprecating - do not use in new apps to identify a CYUSB driver
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,CYUSB.sys
; You may optionally include a check for DriverBase in your application to check for a CYUSB driver
HKR,,DriverBase,,CYUSB.sys
HKR,"Parameters","MaximumTransferSize",0x10001,4096
HKR,"Parameters","DebugLevel",0x10001,2
HKR,,FriendlyName,,%CYUSB_Description%

[CYUSB.AddService]
DisplayName    = %CYUSB_Description%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %10%\System32\Drivers\CYUSB.sys
AddReg         = CYUSB.AddReg
LoadOrderGroup = Base

[CYUSB.Files.Ext]
CYUSB.sys

[CYUSB.AddReg.Guid]
HKR,,DriverGUID,,%CYUSB.GUID%

[Strings]
CYUSB_Provider    = "Cypress"
CYUSB_Company     = "Cypress Semiconductor Corporation"
CYUSB_Description = "Cypress Generic USB Driver"
CYUSB_DisplayName = "Cypress USB Generic"
CYUSB_Install     = "Cypress CYUSB Driver Installation Disk"
VID_XXXX&PID_XXXX.DeviceDesc="Cypress USB Generic Driver (3.4.7.000)"
CYUSB.GUID="{AE18AA60-7F6A-11d4-97DD-00010229B959}"
CYUSB_Unused      = "."

【问题讨论】:

    标签: windows driver inf


    【解决方案1】:

    Microsoft 不断增加障碍,您可能需要在其dev portal now and you need a EV cert. 中签名才能注册。在执行安全启动方面,全新安装和升级也有区别!

    我建议您阅读/加入 OSR mailing list,它有 multiple threads dealing with Windows 10 和 SHA2 签名的斗争。

    Their blog 也可能有用。

    【讨论】:

    • 您好,感谢您的回复。我已经注册了 EV 证书,并且可以进行 HCK 测试,因此线程和文章并不真正相关。我只是想知道 HCK/HLK/WLK 测试是否可以使用 .inf 文件完成。请参阅我提到的其他问题。
    猜你喜欢
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 2021-12-14
    • 1970-01-01
    • 2011-03-08
    相关资源
    最近更新 更多