关于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就有了签名:二是 ...
随机推荐
- 性能分析之工具使用——cpu、io 、mem【工具分析】
nmon nmon 是一种在aix 与各种 Linux 操作系统上广泛使 用的监控与与分析工具,他主要记录以下内容: • cpu 占用率 • 内存使用情况 • 磁盘I/O 速度.传输和读写比率 • 文 ...
- 关于文件下载Header设置
常见的媒体格式类型如下: text/html : HTML格式text/plain :纯文本格式 text/xml : XML格式image/gif :gif图片格式 image/jpeg :jpg图 ...
- unittest(7)-作业- 全局变量传递cookie
全局变量存储cookie 测试类中有多个测试函数 # 1.http_requset.py import requests class HttpRequest: def http_request(sel ...
- 吴裕雄--天生自然KITTEN编程:救救小兔子
- 格式化MyEclipse代码(java、jsp、js)行的长度@修改java代码字体@修改Properties文件编码方式
每次用MyEclipse/Eclipse自带的快捷键Ctrl+shift+f格式化代码时,如果原来的一行代码大于80列,Eclipse就会自动换为多行.如果想格式化代码后不想让代码换行可以通过以下方式 ...
- python基础局部变量、全局变量
局部变量的作用域只作用与当前函数块(或代码块)中,对函数块(或代码块)之外的重名变量,没有任何影响. 在函数块(或代码块)中,局部变量可用通过global关键字声明变量来改变在函数块(或代码块)之外对 ...
- Uber刷单,刷出中国的人性劣根?
美国叫车应用Uber国际化之路一直挺顺利的,融资也挺顺利的,他们现在很有钱,最新总融资金额达到100亿美元,创下美国非上市高科技公司的融资纪录.全新的商业模式,以及优质的客户体验,让Uber ...
- 招聘,api、app、web自动化,性能,持续集成,其他
招聘: api接口自动化测试 app功能自动化测试 web功能自动化测试 性能测试 自动化平台与持续集成 其他
- Pandorabox固件路由器上申请Let's Encrypt证书,为内网里的多个web服务提供SSL支持
对于家中宽带有公网IP的用户,有时我们需要将路由器内部网络的某些web服务通过端口转发暴露到外网(例如NAS远程访问),但HTTP是明文传输,有被监听的风险:如果在NAS上使用自签名证书,再端口转发, ...
- GoLand2019.03破解与汉化
1.准备工作 (请认真的做好准备工作,否则中途可能会操作失败.) GoLand是JetBrains公司发布的商业版的GO语言编辑器(收费的),本屌目前还没钱购买正版,所以本次教程是以Windows平台 ...