WHQL简介:

WHQL全称Windows Hardware Quality Labs testing(Windows硬件质量实验室测试)它是对所涉及的第三方硬件软件进行一系列测试,然后提交测试的日志文件到微软供微软审核的一个测试流程。该流程也可能包含微软在各种设备上运行自己的测试,例如不同的硬件和不同的Microsoft Windows版本。我的个人理解WHQL其实就是微软为了统一平台的驱动完整性搞出来的东西,拿到ev签名意思证明你是微软合作的开发商,经过whql测试就证明你驱动在他的那些系统版本上可运行安装不会报错,因为我没调试文件微软应该只是测试我驱动能能安装,如果提交测试文件微软应该会根据你调试文件进行测试然后给你再各个平台上运行的反馈结果 。

WHQL数字签名申请步骤:

1、首先你应该到微软的仪表板页面申请一个Azure AD 账号地址为:https://partner.microsoft.com/zh-cn/dashboard/hardware/Search

2、在开发人员设置-账户-管理证书 添加一个证书,这一 步需要你利用你从微软代理的EV证书合作商那里拿到证书后利用SHA2对从该页面下载的一个BIN文件进行签名,将该文件重新上传后微软将根据你签名的文件生成一个代码签名证书。微软目前授权的证书机构为Symantec,GlobalSign,DigCert,Entrust这些是微软正规授权的证书颁发商而沃通之类还有证书签名方案解决商的只是EV证书机构的代理商,他们拿到代理权然后推出一些证书签名工具还有方案作为二次销售。(补充说明bin文件一定要单签名SHA2不要双签也不要用SHA1签名否则提交后均不能通过审核)。

3、驱动提交文件格式目前为.hlkx, .hckx, .cab, wlk 因为我只是利用人家开源的驱动程序进行开发因此我不需要提交测试文件只要提交.INF 跟.SYS文件让微软帮我生成.CAT 带签名与.SYS带签名的文件即可。

4、cab文件应该将驱动文件放在一个目录下再生成cab文件如果直接将cat 与 sys文件生成cab微软的自动脚本解压后无法识别,这个点MSDN描述的非常不清楚算是一个比较坑的地方,我相信大部分人都没有布置HLK服务器的条件隐藏cab可能有挺多人用的(我说的大部分人是小公司客户端一般一人开发的那种情况)。

5、cab文件生成后应该利用签名工具对该cab文件进行SHA2签名

6、提交完成后微软会返回一个下载包里面包含.INF CAT SYS这三个文件后面两个带有微软的WHQL签名   Microsoft Windows Hardware Compatibility Publisher 该前面证明你已经在微软测试的相对应平台上没有任何问题。

结语:

whql刚接触之前觉得挺深奥的其实它就是一个微软给你盖的出厂检验合格证,但是产品质量有没有问题谁也不好说BUG这玩意众所周知是一个非常玄学的东西,谁也说不准它何时会发生所以就算你拿到了WHQL认证也顶多是你带了一个有效的数字签名然后可以报错蓝屏之类的溢出问题。以上就是对WHQL的简单描述与个人理解如果有不懂的可以留言或者加群624685312我自己建立的一个学习群里面有我学习分享的一些开源代码。

关于WDK开发内核签名之WHQL签名认证流程简介的更多相关文章

  1. IONIC 开发的Android应用程序签名(或重新签名)详解

    完全通过DOS命令来完成apk签名 给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool.jarsigner和zipalign,下面是对这3个工具的简单介绍:            ...

  2. 转:微信开发之使用java获取签名signature(贴源码,附工程)

    微信开发之使用java获取签名signature(贴源码,附工程) 标签: 微信signature获取签名 2015-12-29 22:15 6954人阅读 评论(3) 收藏 举报  分类: 微信开发 ...

  3. iOS 应用签名原理&重签名

    在苹果的日常开发中,真机测试与打包等很多流程都会牵扯到各种证书,CertificateSigningRequest,p12等.但是很多相应的开发者并不理解iOS App应用签名的原理和流程.今天着重讲 ...

  4. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  5. 为App签名(为apk签名)

    为App签名(为apk签名) 原文地址 这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商 ...

  6. 解决postman环境切换,自动获取api签名时间及签名

    postman调试api接口时,常遇到两个问题: 1.环境分为开发环境,测试环境,正式环境,如何只写一个接口,通过切换postman环境来实现不同环境的接口调用? 2. api接口请求时往往会添加,来 ...

  7. Android签名机制之---签名过程详解

    http://www.2cto.com/kf/201512/455388.html 一.前言 又是过了好长时间,没写文章的双手都有点难受了.今天是圣诞节,还是得上班.因为前几天有一个之前的同事,在申请 ...

  8. Mac App Store应用签名和pkg签名(必须签名后才能销售)

    App签名 只有用苹果颁发的证书签名的应用才能在App Store上进行销售,所以我们开发的应用必须打上签名. 签名有两种方式,一是使用Xcode,在配置里面设置签名,编译出来的app就有了签名:二是 ...

  9. Mac App Store应用签名和pkg签名,查看签名

    App签名 只有用苹果颁发的证书签名的应用才能在App Store上进行销售,所以我们开发的应用必须打上签名. 签名有两种方式,一是使用Xcode,在配置里面设置签名,编译出来的app就有了签名:二是 ...

随机推荐

  1. byte的取值范围是-128~127,那么包含-128和127吗?

    本帖最后由 王德升老师 于 2019-12-27 17:56 编辑 byte的取值范围为什么是-128~127?如果面试官问你取值范围包含127吗?1. 首先我们知道Java中byte类型是1个字节占 ...

  2. TCP 为什么是三次握手,而不是两次或四次?

    TCP是一种全双工的可靠传输协议,核心思想:保证数据可靠传输以及数据的传输效率 A------B 二次握手: 1.A发送同步信号SYN+A's initial sequence number 2.B发 ...

  3. 吴裕雄--天生自然 R语言开发学习:基本图形(续二)

    #---------------------------------------------------------------# # R in Action (2nd ed): Chapter 6 ...

  4. 通用 mapper的简单使用

    通用 MAPPER的简单使用 官方  https://mapperhelper.github.io/docs/2.use/ 依赖 <dependency> <groupId>t ...

  5. JavaScript深入浅出-闭包

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 function (){ var localVal ...

  6. 根据现有的数据库自动生成Django model

    Django引入外部数据库还是比较方便的,首先在setting里面设置你要连接的数据库类型和连接名称,地址之类,和创建新项目的时候一致 运行下面代码可以自动生成models模型文件 python ma ...

  7. Java學習筆記(基本語法)

    本文件是以學習筆記的概念為基礎,用於自我的複習紀錄,不過也開放各位的概念指證.畢竟學習過程中難免會出現觀念錯誤的問題.也感謝各位的觀念指證. 安裝JDK 在Oracle網站中找自己系統的JDK下載位置 ...

  8. Mysql简单总结

    基于Mac OS X系统 MySQL的安装和配置 首先进入 MySQL 官网,选择免费的Community版:MySQL Community Server.MySQL 官网提供了tar.gz和dmg两 ...

  9. 从iPhone X到三星S9,为何现在山寨还能如此肆无忌惮?

    X到三星S9,为何现在山寨还能如此肆无忌惮?" title="从iPhone X到三星S9,为何现在山寨还能如此肆无忌惮?"> 曾几何时,以"土豪金&qu ...

  10. preload & prefetch

    原文地址在 我的笔记里,觉得还行就给个 star 吧:) 关于 preload 和 prefetch 早有耳闻,知道它们可以优化页面加载速度,然具体情况却了解不多.搜索了相关的资料后对其有了些认识,在 ...