• 硬件驱动为什么要有WHQL数字签名


    硬件驱动要有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认证方案。

  • 相关阅读:
    Vue项目实战篇二:实现一个完整的新闻WebApp客户端(带前端源码下载)
    CKA 真题练习(十六)备份还原etcd
    有关于阶乘的相关理解
    DJ12-1 8086系列指令系统-2 数据传送指令
    HTML做一个简单的页面(纯html代码)地球专题学习网站
    【计算机网络笔记】计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
    React之React成功运行Hello React页面
    netty源码系列之-02_EventLoopGroup和EventLoop
    NFTScan | 09.04~09.10 NFT 市场热点汇总
    防火墙 (五十四)
  • 原文地址:https://blog.csdn.net/WoTrusCA/article/details/134532395