关于WDK开发内核签名之WHQL签名认证流程简介
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签名认证流程简介的更多相关文章
- IONIC 开发的Android应用程序签名(或重新签名)详解
完全通过DOS命令来完成apk签名 给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool.jarsigner和zipalign,下面是对这3个工具的简单介绍: ...
- 转:微信开发之使用java获取签名signature(贴源码,附工程)
微信开发之使用java获取签名signature(贴源码,附工程) 标签: 微信signature获取签名 2015-12-29 22:15 6954人阅读 评论(3) 收藏 举报 分类: 微信开发 ...
- iOS 应用签名原理&重签名
在苹果的日常开发中,真机测试与打包等很多流程都会牵扯到各种证书,CertificateSigningRequest,p12等.但是很多相应的开发者并不理解iOS App应用签名的原理和流程.今天着重讲 ...
- iOS使用Security.framework进行RSA 加密解密签名和验证签名
iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...
- 为App签名(为apk签名)
为App签名(为apk签名) 原文地址 这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商 ...
- 解决postman环境切换,自动获取api签名时间及签名
postman调试api接口时,常遇到两个问题: 1.环境分为开发环境,测试环境,正式环境,如何只写一个接口,通过切换postman环境来实现不同环境的接口调用? 2. api接口请求时往往会添加,来 ...
- Android签名机制之---签名过程详解
http://www.2cto.com/kf/201512/455388.html 一.前言 又是过了好长时间,没写文章的双手都有点难受了.今天是圣诞节,还是得上班.因为前几天有一个之前的同事,在申请 ...
- Mac App Store应用签名和pkg签名(必须签名后才能销售)
App签名 只有用苹果颁发的证书签名的应用才能在App Store上进行销售,所以我们开发的应用必须打上签名. 签名有两种方式,一是使用Xcode,在配置里面设置签名,编译出来的app就有了签名:二是 ...
- Mac App Store应用签名和pkg签名,查看签名
App签名 只有用苹果颁发的证书签名的应用才能在App Store上进行销售,所以我们开发的应用必须打上签名. 签名有两种方式,一是使用Xcode,在配置里面设置签名,编译出来的app就有了签名:二是 ...
随机推荐
- 吴裕雄--天生自然python学习笔记:Python3 正则表达式
Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参 ...
- Mybatis-Plus的分页插件
使用的是:Mybatis-Plus的分页插件https://baomidou.gitee.io/mybatis-plus-doc/#/?id=%E7%AE%80%E4%BB%8B 1.Mapper.j ...
- Spring 错误 cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'context:property-placeholder'.
我来说下这个出错的原因吧 eclise中xsd的验证问题Description Resource Path Location Type cvc-complex-type.2.4.c: The matc ...
- Bootstrap插件及其应用方法网址
全局CCS样式 https://v3.bootcss.com/css/#type-lists 组件 https://v3.bootcss.com/components/#pagination Boot ...
- Tensorflow 错误集锦
文章目录 参考文献 本文记录笔者在Tensorflow使用上的一些错误的集锦,方便后来人迅速查阅解决问题. 我是留白. 我是留白. CreateSession still waiting for re ...
- curl_getinfo的巧用
最近使用curl的时候,发现了一个比较好用的函数,当然是初级者适用的一个函数,就是curl_getinfo(), 在抓取一个页面的时候,会遇到302页面跳转的情况,刚开始处理的时候,是用curl抓取一 ...
- 【转载】(String)、toString、String.valueOf的区别
用于个人参考,查看请前往原地址http://blog.csdn.net/springk/article/details/6414017 问题讨论http://bbs.csdn.net/topics/2 ...
- C++走向远洋——65(十五周、项目一)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- DroidVim:在安卓手机上使用vim
背景 有时候在邮件,钉钉,微信上收到一份文件,急需打开看一下,但有些文件用普通编辑器打开体验实在不佳,例如 patch,log 甚至 bin 文件.由于日常在电脑上使用的是 vim ,一个朴素的想法就 ...
- web资源预加载-生产环境实践
此文记录资源预加载在我们项目的实践,技术难度不算高,重在介绍一套技术方案的诞生与实施,其中都进行了哪些思考,依据什么来做决策,如何进行效果评估,等等.为读者在制定技术方案时提供一定启示. 背景 资源预 ...