硬件驱动要有WHQL数字签名才能实现正常安装、启动、运行,并实现驱动静默安装。

目前的桌面操作系统中,Windows系统市场占有率处于优势,Windows 的各个版本的系统加起来几乎占领了大部分市场。所以很多工业和行业的硬件设备都要考虑兼容在Windows系统上使用,这个使用过程中难免涉及设备的驱动使用(驱动是硬件设备和Windows系统联接传输数据的桥梁,没有驱动的硬件设备是无法正常工作的),但Windows系统对驱动的安装、启动、运行有一个较重要的要求,那就是相关的驱动文件需要加上数字签名。

如果该驱动程序文件在沃通CA做过 WHQL,则右键属性弹出的窗口中有一个选项卡“数字签名”,点击详细信息会看到具体的数字签名证书详情。

假设驱动安装时没有数字签名会怎样?我们看以下截图:

没有WHQL签名驱安装时提示“Windows 无法验证此驱动程序软件的发布者”或驱动没有效数字签名之类的警告:

而且,没有数字签名的驱动程序安装到 Windows中后,在设备管理器里,设备会显示感叹号,无法启动工作,如下图:

所以,如果一个硬件驱动没有微软发布的数字签名,则会在安装时会被Windows 拦截警告,提示没有数字签名或者驱动没有发布者,而且更可能的是导致设备驱动启动不了不工作。这一切源于微软对Windows系统保护,防止没有进行数字签名认证的驱动对Windows造成的破坏,因为驱动会涉及到系统内核中一些重要的指令,稍有不慎就造成Windows系统的死机和蓝屏。

可能有驱动开发者要问,我可以用代码签名证书为驱动进行数字签名,为什么要WHQL签名?

因为根据微软新政策,受微软信任的第三方内核模式代码签名交叉证书,将于2021年4月全部到期。此后,微软将成为Windows内核模式代码(驱动程序)签名的提供商。也就是说,以前第三方CA颁发的代码证书可以签名驱动使用,是因为签名时有微软给的交叉证书,现在微软给的交叉证书到期了,以后驱动签名规则其实是变了,驱动是在系统内核模式下工作的,所以绝大数驱动都是要经过WHQL测试认证,从而获得微软官方发布的数字签名才可以正常工作。

如下是微软给第三方CA颁发的可信交叉证书到期时间:

同时,经过WHQL测试认证签名后的硬件驱动安装时会实现驱动静默安装,不会弹出任何警告,可以给用户很好的使用体验,让驱动有很好的稳定性,不会像用代码签名证书签名后的驱动安装时会弹出如下弹窗(Trusted publishers警告):

WHQL签名认证其实是有其自身复杂性,具有一定的技术门槛,不管是在认证平台搭建环节,或者对微软签名策略的了解,以及驱动签名对各版本Windows系统的适配性,甚至认证过程中对驱动的必要修改,这对很多驱动开发者或驱动开发企业的开发人员来说,很难详细掌握。沃通CA作为一家专注于数字证书领域多年的企业,拥有成熟的WHQL测试经验和相关技术,根据市场需求,为广大驱动开发者提供了多种WHQL认证方案

硬件驱动为什么要有WHQL数字签名相关推荐

  1. 单片机at指令解析 开源_分享Github上几个开源单片机硬件驱动库

    Github上的项目基本上以软件为主,硬件的很少,优秀的硬件开源项目更少.单片机的开发中驱动模块化带来的好处是移植方便,不依赖于硬件,但是与裸机开发相比代码复杂不易理解.所以驱动.组件等封装的功能完善 ...

  2. 在ThinkPad W500 A98上升级Windows 7以及安装硬件驱动和相关程序(2/2)

    在ThinkPad W500 A98上升级Windows 7以及安装硬件驱动和相关程序(2/2) 升级硬件固件 在安装了升级硬件固件所必要的驱动程序后,就可以升级硬件固件了,在下载的硬件驱动和相关程序 ...

  3. [转贴]制作windows 2003自动安装盘-集成补丁/Raid及硬件驱动

    从事网游行业的工作人员,如果一款游戏上线,必须上大量服务器.用品牌机引导盘装系统,再打个补丁,速度真让人不敢恭维.为了提高效率,就尝试制作一张集成系统补丁/RAID及硬件驱动自动安windows 20 ...

  4. Linux下的硬件驱动——USB设备(下)

    Linux下的硬件驱动--USB设备(下)(驱动开发部分) 文档选项 打印本页 将此页作为电子邮件发送 未显示需要 JavaScript 的文档选项 级别: 初级 赵明, 联想软件设计中心嵌入式研发处 ...

  5. intel x520网卡驱动_手工编译linux桌面内核(二)——硬件驱动的配置 下篇

    前言: 前面的方法讲完了,接下来我们来看看实例(我自己电脑的配置). 这里我只打算列出几项重要的驱动配置来,其它的请自行查阅gentoo wiki! 再次强调,这是我自己电脑的硬件驱动配置,不可能完全 ...

  6. 3D打印机硬件驱动-马林固件最新版本2.0.X中文注释(1)marlin 2.0.9.2 截至发稿时间2021年12月16日

    马林固件最新版本翻译注释 /*============================================================================== Marlin ...

  7. 用ESXi-Customizer 为ESXI镜像加入硬件驱动

    一.下载并解压ESXi-Customizer软件: 二.点击"ESXi-Customizer"执行文件,打开软件: 三.在弹出的窗口中,第一个Browse选择原有的ESXi的镜像位 ...

  8. Linux下的硬件驱动——USB设备配置以及开发

    Linux下的硬件驱动--USB设备(上)(驱动配置部分) USB设备越来越多,而Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和使用他们,也越来越成为困扰我们的一大问题.本文 ...

  9. Linux下的硬件驱动——USB设备

    想起当初对于破安卓手机,挂在系统上可是费了好些劲,今偶遇USB驱动开发,收集备用,哪天一生气,说不定也写一个linux下的手机驱动,类似于91手机助手的,也不用配置了. Linux下的硬件驱动--US ...

  10. 在ThinkPad W500 A98上升级Windows 7以及安装硬件驱动和相关程序

    在ThinkPad W500 A98上升级Windows 7以及安装硬件驱动和相关程序 备份数据 先备份数据,由于原来的Windows XP已经不能正常启动,因此就使用光驱启动Windows XP P ...

最新文章

  1. UVA 11578 - Situp Benches(dp)
  2. 提高PHP代码质量需要注意的地方三
  3. rust(69)-闭包
  4. 手机号验证_谷歌修改密码时遇到手机号验证的解决办法
  5. div模拟textarea文本框,输入文字高度自适应,且实现字数统计和限制
  6. 两点(51nod 深搜)
  7. ptmalloc,tcmalloc和jemalloc内存分配策略研究
  8. mysql复合语句声明开始于_mysql8 参考手册--BEGIN ... END复合语句
  9. 《jQuery Cookbook中文版》——1.9 根据当前上下文遍历DOM获得新的DOM元素集
  10. 车牌识别opencv_基于OpenCV 的车牌识别
  11. 某宁detect、feature参数分析
  12. 计算机房电源引入方式,(完整版)通信机房电源计算公式.pdf
  13. 偏度与峰度(附python代码)
  14. vue3—reactive如何更改属性
  15. MATLAB指数拟合
  16. linux实训报告内容一万字,Linux实训报告.doc
  17. oracle 求时间均值
  18. 算法-时间频度 时间复杂度 空间复杂度
  19. 一名富有激情的潮汕籍工程师的进阶之路:数据即未来
  20. Nginx实现前后端分离(springboot+vue)+双机互备

热门文章

  1. aspnetpager 详解 (转)
  2. 计算机硬盘数据如何恢复,如何防止硬盘数据被恢复?毁灭数据教程
  3. [JAVA学习] JDK与JRE的区别
  4. 怎么用计算机里的坦克大战,FC经典90坦克大战电脑版
  5. IE首页被劫持,桌面图标异常的个人综合清理方法
  6. 思科ccnp网络工程师必备技能ICMPv6协议概述详解
  7. 天天QQ记牌器2.37 去广告绿色版
  8. 百度云盘客户端去除顶部广告
  9. python模拟登录浏览器_Python爬虫常用之登录(二) 浏览器模拟登录
  10. 东芝 rc100 linux,东芝RC100 M.2 NVMe固态硬盘HMB特性解读