当前位置:网站首页>什么是驱动程序签名,驱动程序如何获取数字签名?
什么是驱动程序签名,驱动程序如何获取数字签名?
2022-07-30 11:57:00 【lavin1614】
什么是WHQL?
WHQL是Windows Hardware Quality Labs的简称,意思是Windows操作系统硬件质量实验室,这个实验室主要从事计算机硬件产品、驱动程序于Windows操作系统的兼容性和稳定性测试,如果通过测试就证明这款产品在Windows操作系统中基本不存在兼容性问题。
2021年起,微软要求所有驱动程序必须获得微软的官方数字签名,而这种签名就可以通过 WHQL 来实现。

驱动程序为什么要做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 签名来解决该故障的服务。

3、签名验证保护模式要求加载到 LSA 中的任何插件
签名验证 保护模式要求加载到 LSA 中的任何插件都已使用 Microsoft 签名进行数字签名。 因此,未签名的或者未使用 Microsoft 证书进行数字签名的任何插件都无法加载到 LSA 中。 这些插件包括智能卡驱动程序、加密插件和密码筛选器。 用作驱动程序(例如智能卡驱动程序)的 LSA 插件需要使用 WHQL 认证进行签名。 不需要经历 WHQL 认证[1]过程的 LSA 插件必须使用 LSA 的文件签名服务进行签名。
参考
- ^Windows徽标认证服务(WHQL认证) WHQL认证_微软徽标认证- 沃通CA
边栏推荐
猜你喜欢
随机推荐
Zhou Hongyi: Microsoft copied the 360 security model and became the largest security company in the United States
saltstack学习2grains&pillar
Flexible distribution parameters of mechanical system modeling and control of research and development
概率论的学习整理4:全概率公式
Differences between lock spin and mutex usage scenarios
看了这些6G原型样机,我想一觉睡到2030年
Matlab基础(1)——基础知识
Homework 7.29 correlation function directory and file attributes related functions
明德扬FPGA开发板XILINX-K7核心板Kintex7 XC7K325 410T工业级
ADC0808/9 signal acquisition developed by single chip microcomputer
ansible学习笔记01
Matlab基础(5)——符号运算
关于File文件的相关知识
【MySQL系列】-B+树索引和HASH索引有什么区别
unity对象池(学习)
C# 时间戳与时间的互相转换
Matlab基础(0)——命令行常用指令
The method of judging the same variable without the if branch
限时招募!淘宝无货源副业,800/天,不限经验,男女皆可,仅限前200名!
听到'演员工作比工人辛苦,吃得也不如工人好?'我笑了




![[BJDCTF2020]Cookie is so stable-1|SSTI injection](/img/48/34955bbe3460ef09a5b8213c7cc161.png)




