鉴于微软的最新要求,微软从2021年4月底开始不再接受代码签名证书给驱动程序进行数字签名(注意:普通非驱动类软件依然可以使用代码签名证书),取而代之的是需要对驱动程序做WHQL认证。完成WHQL认证,客户的驱动程序就可以获得微软的数字签名证书,从而使程序在Windows上顺畅运行。那么驱动签名的定义是什么?如何为驱动程序获取数字签名呢?本文将对此作详细介绍。

什么是驱动签名?

驱动签名是指在Windows操作系统中,对于USB设备、内存卡、打印机等硬件设备安装的驱动程序,经过微软数字签名认证后才能够被系统识别并运行的过程。驱动程序签名最初是为了保证驱动程序的安全性而设立的,避免用户下载到不利于系统稳定和安全的驱动程序。 

如何为驱动程序获取数字签名?

鉴于微软的新规定,目前驱动程序获取数字签名必须通过WHQL认证,具体步骤如下: 

1、申请EV代码签名证书

驱动程序开发者必须通过 Windows 硬件开发人员中心门户向微软提交新驱动程序。而Windows 硬件开发中心帐户注册过程,必须使用 EV 代码签名证书签名指定文件,才能完成帐户注册。因此首先要做的就是找专业证书服务机构(如:锐成)申请EV代码签名证书。 

2、软硬件驱动测试

申请Azure AD账户后,即可根据微软要求搭建WHQL测试环境,使用微软提供的测试工具(HCK/HLK)进行驱动测试。 

3、提交测试报告给微软

测试完成后需要将测试结果打包,文件需要用EV代码签名证书签名,测试报告提交微软审核认证。 

4、获得微软认证签名

经过微软严格审核通过后,下载驱动数字签名catalogfile和微软认证报告,硬件产品将会获得微软的徽标授权,驱动软件将获得高安全级别保护,同时有需要的公司还可以将驱动发布到Windows Update。 

经过数字签名认证的驱动程序,可以确保其生产商的身份和程序的完整性,避免了恶意软件的植入和安装,同时也可以替代传统的数字摘要验证键值,提供了更高的安全保障。