Buckhorn 微软 WHLK 认证
作者: Fei Chang
本文介绍如何搭建 WHLK 测试平台,进行 WHLK 测试,以获取微软的数字签名。如需体验
Buckhorn 声卡,可上天猫淘宝搜“Buckhorn”或“跳羚声卡”;如需合作,或更多技术资料,欢迎访问
公司主页 buckhorn.com.cn 上的“技术支持->技术文档”。
Windows 下的驱动程序,是必须通过微软的 WHLK 测试,经过微软的数字签名之后,才能在
最终用户那边顺利安装的。WHLK 测试工具是微软开发的一套测试工具,它自动识别驱动的设备
类型,然后采用相对应的一系列 test cases 进行测试,整个测试周期根据设备类型不同而不同,例
如声卡,不卡壳的话大约 4 天时间可跑完一个 OS 的测试。
注意,32 位和 64 位需要分别测试的。Win7 和 win10 的测试工具版本是不同的,对 server
版本要求也不同的,我们以 win10 为例介绍一下这个声卡 whlk 测试平台的搭建。
1. 购买商业数字证书
在进行 WHLK 测试之前,需要对我们的驱动进行数字签名,而数字签名的证书,我们需要向
微软承认的第三方购买,例如 GlobalSign, Symentec 等。这些证书颁发机构会要求我们提供公司的
一些信息,必须真实,工商部门登记的,他们是会去核实的。然后缴一笔不菲的费用,有效期一
年。
购买到数字证书之后,安装,并导出到数字签名工具同目录下,就可以用来数字签名了:
❖ inf2Cat.exe /driver:.\ /OS:10_x64
❖ signtool.exe sign /f buckhorn.cer /p xxxx /fd sha1 /tr
"http://sha1timestamp.ws.symantec.com/sha1/timestamp" /v "bhuaud.sys“
❖ signtool.exe sign /f buckhorn.cer /p xxxx /fd sha1 /tr
"http://sha1timestamp.ws.symantec.com/sha1/timestamp" /v "bhuaud.cat"
2. 搭建 WHLK 平台
这个 WHLK 搭建平台的文档,可以从 msdn.microsoft.com 上下载的。
a. 安装 windows server 2016;
b. 从 msdn.microsoft.com 下载最新的 Redstone 的 KitPreinstall.zip,里面有个
readme.txt,在 windows server 2016 上安照指示安装那些证书和注册表;
c. 从 msdn.microsoft.com 下载最新的 HLK,在 windows server 2016 上安装 HLK,
controller 和 Studio 都一起安装。这个 HLK 会把客户端需要安装的部分在一个文件
夹中共享出来;
d. 按如何架构搭建 WHLK 测试平台,HLK Controller 和 Studio 我们合二为一安装在这
台 Server2016 上了:
e. 从客户端打开共享文件夹,安装\\Server2016 ip
address\HLKInstall\Client\Setupamd64.exe 或 Setupx86.exe,根据你客户端 OS 的类
型选择对应的安装包。
f. 回到 Server2016,运行 HLK Studio,右击”Root” ,Create Machine Pool
g. 从 Default Pool 中可以发现你刚才安装的客户端机器,把它们移到你刚刚创建的新
的 machine 里头去,并右击那个待测试的客户端的状态,选“Ready”:
h. 点上图左上角的回退,然后 Create Project:
i. 点击 Selection,选择刚才的 machine pool,并选中待测的设备 Buckhorn:
j. 再点击 Tests,勾选中所有测试项,即可进行测试了。WHLK 测试工具本身也有 bug
的,所以跑完测试后,可以运行一下 filter,这样由于 WHLK 工具自身的问题导致
的测试失败就会被过滤掉。
安装 filters : https://docs.microsoft.com/en-us/windows-hardware/test/hlk/user/windows-
hardware-lab-kit-filters
k. 所有测试项通过后,点 package,Add Driver Folder,把我们 x86/x64 的已签名的驱
动加进来:
l. Create Package,使用我们购买的数字证书签名,保存为 buckhorn.hckx。
3. 向微软提交数字签名申请
3.1 先得向 microsoft 注册一个账户: https://partner.microsoft.com/en-
us/dashboard/hardware/dirver
这个注册的过程中需要用到上面购买的数字证书,以验证身份。
3.2 然后提交 buckhorn.hckx,每提交一次,缴一笔不菲的费用。然后微软会给我们的驱动
用微软的数字证书签名。
3.3 这时,我们用微软签名过的驱动制作正式的安装包了。