如何给驱动程序签名?怎么做微软WHQL认证?

简介: 内核模式旨在验证在系统上运行我们的程序和软件的驱动程序包的代码,内核模式代码的签名文件在安全目录(CAT 文件)中受到保护。


从 Windows Vista 开始,基于 x64 的 Windows 版本要求在内核模式下运行的所有软件(包括驱动程序)进行数字签名才能加载。未签名的驱动程序被系统阻止,数字签名可确保驱动程序已由受信任的开发人员或供应商发布,并且其代码未被修改。


什么是内核模式驱动签名?

操作系统中的内核模式表示操作系统上所有其他程序所依赖的核心程序。使用此模式的基本目的是访问操作系统的硬件组件并计划将运行系统的进程。即使是常规程序,当它们必须访问计算机硬件时,也必须通过内核模式建立连接。

13-02.png

内核模式旨在验证在系统上运行我们的程序和软件的驱动程序包的代码,内核模式代码的签名文件在安全目录(CAT 文件)中受到保护。对此证书进行签名的目的是创建一个策略,在该策略中,内核模式驱动程序必须始终加载才能使系统平稳运行。

内核模式驱动程序签名认证过程取决于操作系统的版本。内核模式代码具有.sys扩展名,若要正确加载这些驱动程序,必须使用安全目录 (CAT) 对它们进行有效签名。因此,引入操作系统的任何驱动程序都需要获得数字签名进行验证。

如何为驱动程序签名,完成WHQL认证?

由于微软提升驱动程序签名要求,以往只需要采用微软交叉根签名的证书颁发机构提供的EV代码签名证书签名驱动程序,即可完成驱动签名认证,但从 Windows 10 开始,如果新的内核模式驱动程序未由Windows开发人员门户提供签名,则系统不会加载它们。微软已停止继续给证书颁发机构签发交叉根证书,驱动程序必须提交微软开发人员门户进行WHQL测试认证,获取微软数字签名后才能正常加载。申请WHQL认证主要有以下几个步骤,如图所示:


沃通CA提醒开发者,驱动程序提交微软WHQL认证的流程中,仍需申请EV代码签名证书,这是必备项目!帐户注册过程及驱动程序提交前,需要使用微软指定证书颁发机构提供的EV代码签名证书进行签名。

(1)账户注册需要:驱动程序开发者必须通过 Windows 硬件开发人员中心门户向微软提交新驱动程序。而Windows 硬件开发中心账户注册过程,必须使用 EV 代码签名证书签名指定文件,才能完成账户注册。

(2)驱动签名需要:完成微软测试认证后,WHQL 仅对驱动程序包目录文件进行签名,但不将签名嵌入驱动程序文件。所有驱动程序提交到硬件开发人员门户之前,必须先使用 EV 代码签名证书进行签名。

沃通CA是合规电子认证服务机构,提供各种类型数字证书产品,沃通EV代码签名证书Pro 及 EV代码签名证书 两款产品,都是由微软指定的证书颁发机构签发,符合微软要求。沃通还提供配套的WHQL认证服务,“EV代码签名证书 + WHQL认证服务”一站式解决驱动程序签名及WHQL认证的需求,帮助开发者快速完成认证。

相关文章
|
自然语言处理 安全 C++
【C++ 格式化输出 】C++20 现代C++格式化:拥抱std--format简化你的代码
【C++ 格式化输出 】C++20 现代C++格式化:拥抱std--format简化你的代码
8901 4
|
机器学习/深度学习 存储 人工智能
AI浪潮下,大模型如何在音视频领域运用与实践?
LiveVideoStackCon2023深圳站,阿里云视频云演讲分享
691 1
|
7月前
|
算法 关系型数据库 测试技术
WHQL微软驱动签名方案,让驱动程序在Windows系统流畅运行
WHQL认证(Windows徽标认证)是微软设立的严格测试标准,旨在确保驱动程序的兼容性、稳定性和互通性。本文介绍了三种WHQL微软驱动签名方案:单系统签名、多系统签名和硬件兼容性测试方案,分别满足不同开发商的需求。通过WHQL认证,不仅能消除Windows安装警告,提升用户体验,还能获得“Designed for Windows”徽标授权,入列全球Windows Catalog及HCL产品表,提升品牌权威性和采购优先权。此外,访问微软OCA可获取错误反馈,助力产品质量改进。选择合适的签名方案,让驱动在Windows系统中流畅运行!
|
4月前
|
存储 固态存储 Linux
VMware ESXi 9.0 正式版发布下载 - 领先的裸机 Hypervisor
VMware ESXi 9.0 正式版发布下载 - 领先的裸机 Hypervisor
1007 1
VMware ESXi 9.0 正式版发布下载 - 领先的裸机 Hypervisor
|
11月前
|
缓存 运维 网络协议
深入Linux内核架构:操作系统的核心奥秘
深入Linux内核架构:操作系统的核心奥秘
485 2
|
人工智能 运维 负载均衡
10 分钟构建 AI 客服并应用到网站、钉钉或微信中
《10分钟构建AI客服并应用到网站、钉钉或微信中》的解决方案通过详尽的文档和示例代码,使具有一定编程基础的用户能够快速上手,顺利完成AI客服集成。方案涵盖高可用性、负载均衡及定制化选项,满足生产环境需求。然而,若文档不清晰或存在信息缺失,则可能导致部署障碍。实际部署中可能遇到网络、权限等问题,需逐一排查。云产品的功能、性能及操作配置便捷性直接影响解决方案效果,详尽的产品手册有助于快速解决问题。总体而言,该方案在各方面表现出色,值得推荐。
508 34
|
网络安全 Apache Windows
网站⭐Windows下,将xampp升级为https
网站⭐Windows下,将xampp升级为https
|
数据库
MAC Navicat 连接 MySql
MAC Navicat 连接 MySql
341 0
|
测试技术 开发者 Windows
微软WHQL认证有哪些步骤?驱动程序签名及发布
通过WHQL认证有什么好处呢?凡是通过WHQL认证的产品,都可获得微软logo授权,可使用“Designedfor Windows”标志,其相关信息可列入微软官方网站和操作系统的硬件兼容列表(HCL),支持直接从Windows Update中更新驱动。
533 0
微软WHQL认证有哪些步骤?驱动程序签名及发布
|
uml C++
UML——实现图(组件图、部署图)
在进行完前面的系统逻辑设计之后,下一步我们就需要定义设计的物理实现,如可执行文件、库、表、文件和文档等。UML的实现图又分为了:组件图和部署图两部分