什么是驱动程序签名,驱动程序如何获取数字签名?

什么是WHQL?

WHQL是Windows Hardware Quality Labs的简称,意思是Windows操作系统硬件质量实验室,这个实验室主要从事计算机硬件产品、驱动程序于Windows操作系统的兼容性和稳定性测试,如果通过测试就证明这款产品在Windows操作系统中基本不存在兼容性问题。

2021年起,微软要求所有驱动程序必须获得微软的官方数字签名,而这种签名就可以通过 WHQL 来实现。

什么是驱动程序签名,驱动程序如何获取数字签名?_第1张图片

驱动程序为什么要做WHQL认证

1、可获取微软徽标授权

产品通过WHQL测试认证后,企业有权在其产品包装和广告上使用“Designed for Windows”徽标。获得微软Windows品牌及用户对产品与Windows兼容认可的优势。

2、可提高用户认知度

微软规定凡是通过WHQL认证的产品都被授予徽标标志,其相关信息都会出现在微软官方网站和操作系统的硬件兼容列表(HCL)中。

3、可提高兼容性和稳定性

WHQL认证的驱动程序在安装过程中不会弹出兼容性的提醒,WHQL认证过程相当严格,当通过了WHQL认证的驱动程序可以说在Windows系统中基本不存在兼容性问题。可提高产品在用户心中的品牌信任度。

4、可获得微软的WINDOWS ONLINE UPDATE服务

一些通过WHQL测试的设备驱动程序也可以发布到Windows Update中。客户很容易得到新的与Windows相关软件的更新。

那么 Windows 内核驱动程序如何获得微软数字签名:

1、建立 Windows 硬件开发人员账号。(账号的建立过程需要 EV代码签名证书)

2、购买 EV 证书时,请注意品牌,目前微软对 EV代码签名证书的品牌在微软官方文档中有建议:

A、 Symantec EV 代码签名证书(该品牌目前已经合并到 DigiCert旗下)

B、 Entrust EV 代码签名证书

C、GlobalSign EV 代码签名证书

D、DigiCert EV 代码签名证书

3、将自己开发的驱动程序,通过 HLK 或者 HCK 的平台测试,通过测试之后拿到完整的测试数据包并将驱动程序打包进去,使用 EV 证书进行签名。

4、提交数据包,通过审核,下载含有签名的驱动。

常见的需要微软数字签名的有:

1、各类驱动程序、内核驱动等

这类文件如果没有微软的数字签名,将直接无法安装运行。

2、运行在 UEFI 系统下的 efi 驱动和通过 UEFI 启动的 shim(垫片)

为了解决一些 efi 驱动或者 efi 固件在类 EFI 操作系统加载不了,无法正常工作等问题, 我们推出通过 efi 驱动测试或垫片测试审查,获得微软 UEFI 签名来解决该故障的服务。

什么是驱动程序签名,驱动程序如何获取数字签名?_第2张图片

3、签名验证保护模式要求加载到 LSA 中的任何插件

签名验证 保护模式要求加载到 LSA 中的任何插件都已使用 Microsoft 签名进行数字签名。 因此,未签名的或者未使用 Microsoft 证书进行数字签名的任何插件都无法加载到 LSA 中。 这些插件包括智能卡驱动程序、加密插件和密码筛选器。 用作驱动程序(例如智能卡驱动程序)的 LSA 插件需要使用 WHQL 认证进行签名。 不需要经历 WHQL 认证[1]过程的 LSA 插件必须使用 LSA 的文件签名服务进行签名。

参考

  1. ^Windows徽标认证服务(WHQL认证) WHQL认证_微软徽标认证- 沃通CA

你可能感兴趣的:(代码签名,EV代码签名证书,microsoft,windows)