雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

Windows 7 驱动HCK测试和签名流程

2024-07-10 83

前言

现在数字签名证书的交叉根证书都到期了,微软没有给新证书签发内核交叉证书,导致无法直接用新购买的数字签名证书做内核驱动的签名。现在驱动程序都是用普通签名+微软WHQL徽标认证,在Windows10中是直接用普通数字签名,然后通过HLK测试之后,上传到微软签名即可,而在Windows7中,类似的需要用HCK的方式提交认证,而且要先认证,再附加自己的签名。

HCK认证测试的流程

Step1:安装测试环境

在测试服务机上安装HCK的Controller和Studio。

测试服务器的要求:
英文版的Windows Server 2012或Windows Server 2008 R2 x64 sp1或更高版本,并且不能配置为域控服务器。
我使用的是Windows Server 2008 R2 x64 sp1英文版。

下载HCK安装包:https://go.microsoft.com/fwlink/p/?LinkID=317577
下载后拷贝到测试服务器上进行安装。

Step 2: 在测试机器上安装客户端

在测试驱动的机器上,打开系统的资源管理器,输入“\\测试服务器的IP地址\HCKInstall\Client”访问服务器上提供的安装程序,双击setup.exe执行安装,如下图:
image-1672996648822

安装过程中,在如下界面时,选择“Yes I will allow a port to be opened.”
image-1673006197575

Step3:新建一个machine pool(机器池)

机器池是一台或多台测试计算机的逻辑分组。在每台测试计算机上安装Windows HCK客户端后,这些计算机会自动添加到默认计算机池中。在使用测试计算机之前,需要将其移动到工作计算机池中。
每个项目都需要一个机器池。一个机器池可以用于多个项目。一个项目可以引用多个计算机池。

Studio配置机器池如下图所示:
image-1672997428767

Windows HCK Studio中点击上方的Configuration
image-1673005967586

在“Machine pool”的Root节点上点击右键,然后选择“Create Machine Pool”
image-1673006126115

然后将“default”Machine Pool中的需要用于测试的Client拖到新建的Machine Pool中。

Step4:新建测试工程

设置好测试服务器和客户机之后,就可以开始测试了。第一步是创建一个项目。项目定义了您想要测试的内容。最常见的项目是您想要提交认证的设备。在本例中,您创建一个项目,运行与该设备相关的所有认证测试,最后创建一个包含所有通过测试结果的包。
借助新的HCK测试概念特性,您可以创建代表各种场景的项目。此外,您可以创建几个较小的项目,并将结果合并到一个包中。
下图显示了“Studio项目”选项卡。
image-1673006459242

Step5:选择要认证的目标

Windows HCK Studio检测设备实现的所有功能。特定的可测试设备称为目标。一个设备可以包含多个目标,由一个或多个硬件id表示。使用选择选项卡,您可以使用以下视图筛选要测试的内容:

  • 系统:测试完整的客户端或服务器计算机。
  • 设备和打印机。测试连接到测试计算机的外部设备。该设备通常出现在测试计算机上的开始设备和打印机中。
  • 设备管理器。测试测试计算机或外部设备的组件,例如网卡。这是最详细的视图。
  • 软件设备。测试安装在测试计算机上的过滤器驱动程序、防火墙和防病毒软件。

注意 一些软件驱动程序与物理设备相关联。如果在“软件设备”下找不到您的驱动程序,请使用设备管理器上的搜索栏来查找与您的软件驱动程序相关联的设备。
下图显示了“Studio”选项卡的配置:
image-1673006683803

Step 6: 选择并运行测试

测试选项卡显示与您的设备上找到的功能相关的所有测试。您可以通过以下方式对测试结果进行筛选和排序:

  • Level (Basic, Functional, Reliability, Certification, Experiences, Optional)
  • Status
  • Test Name
  • Type (manual, non-distributed, special configuration, multiple machine)
  • Length
  • Target
  • Machine(s)
    因为手动测试会中断测试过程以等待用户输入,所以建议将它们与自动化测试分开运行。一些自动化测试需要额外的参数才能运行。
    下图显示了“Studio Tests”选项卡。
    image-1673006944013
    选择需要运行的测试项,单击“Run Selected”即可运行测试,这里需要运行所有测试后续才能做微软的认证签名。

Step7:查看测试结果和日志文件

“Results”选项卡显示每个测试的详细信息。每个测试完成后,“状态”列会更新结果——通过或失败,如下图所示:
image-1673007747336

排除失败测试的故障

如果测试失败,您可以展开测试详细信息以查看相关的日志文件。

  1. 从列表中选择一个失败的测试,用红色x表示。
  2. 展开“测试名称”节点,展开“日志”节点,然后双击日志文件。 您可以查看这些日志文件:
  • .log file. Text dump.
  • .wtl file. Open to view error reports.
  • .xml file. Change file name extension to .wtl to view error reports.
    右键单击“ any test”以查看其他测试详细信息,包括:
  • Task logs.
  • Additional files.
  • Applied filters.
  • Errors.
  • Infrastructure (gather and execution logs).

Step8:创建一个submission package

在设备通过所有必要的测试之后,您可以创建一个submission package(.hckx文件)进行提交。 Windows HCK Studio支持包创建,所以你不需要使用单独的提交工具。它支持添加完成认证所需的资源文件(驱动程序、符号、勘误表)。您也可以合并多个包(.hckx文件)合并到一个包中。 下图显示了“Studio Package”选项卡。
image-1673007954238

  1. 选择“Package”选项卡。
  2. 如果您为设备使用了特殊驱动程序(可选),请通过以下方式提交:
  • 单击添“Add Driver Folder Browse”以选择文件夹,然后单击“OK”。
  • 在“Driver Properties”对话框中,选择适当的产品和区域设置,然后单击确定。
  1. 要添加符号(可选),右键单击驱动程序文件夹,单击“Add Symbols Browse”以选择文件夹,然后单击确定。
  2. 要添加补充文件夹(可选),如自述文件、应急消息、勘误表或手动过滤器,请单击添加“Add Supplemental Folder Browse”以选择文件夹,然后单击确定。
  3. 单击“Create Package”。 从签名选项对话框中,选择以下选项之一:

重要: 所有提交的文件都必须经过数字签名。

  • 不要签名以创建未签名的包,例如,发送给支持人员进行调试,或者稍后与其他包合并成单个提交包。
  • 使用证书存储创建数字签名包,这是最常见的情况。此选项要求在运行Windows HCK工 Studio的计算机上安装X509证书,例如VeriSign证书。从“Windows安全性”对话框中,选择适当的代码签名证书。
  • 通过使用可移植安全文件,使用证书文件创建数字签名包。此选项要求您提供X509证书文件(.cer文件)。
更新于:4个月前
赞一波!1

文章评论

评论问答