以下内容原文来自网友ndis_passthru。略作修改(本人使用过程需要)
网友http://my.csdn.net/changpei,他写的关于驱动的文章也是很好
Vista 之后的 64位os里 ,内核程序都需要签名才能加载。

要使x64 os加载自己的驱动,有3种方式 :
1)、开机时–> F8–> “Disbale Driver Signature Enforcement”。
2)、Test-signing 。ms为 程序开发者 提供的测试内核代码的方式。(用自签名的证书来签名内核代码)
3)、向ms买个证书。

下面记录下,我使用 Test-signing 的过程。

我的操作过程皆来自 MSDN : Kernel-Mode Code Signing Walkthrough (http://msdn.microsoft.com/en-us/library/windows/hardware/gg487328.aspx)里面下载的 KMCS_Walkthrough.doc 有较详细操作步骤。这个文档非常非常非常重要,如果在使用中出现错误,一定要在这个文档中仔细看看命令的使用步骤等

PS : 记得执行下面的操作时 ,是使用 管理员 身份登录的 。以WDK7自带的例子passthru为例。(复制并改名为C:_passthru_wdk7),第一次学习建议编译环境一定要选择对应的系统,例如我使用的是window 7系统 vs 2008 wdk 7-(GRMWDK_EN_7600_1.ISO)

一、安装好 WDK。(我这里使用 WDK7)
二、打开命令提示符。 开始–> 程序–>Windows Driver Kits –> WDK 7600.16385.1–>Build Environments –> Windows 7 –> x64 Checked Build Environment 。(下面称此 命令提示符界面 为 cmd_wdk7 )

三、编译 passthru 。复制C:\WinDDK\7600.16385.1\src\network\ndis\文件夹下的passthru到C:\中
cmd_wdk7 进入目录 C:\passthru\driver\
build -czg
四、创建 (自签名测试)证书(doc P.9)。cmd_wdk7 进入目录 C:\passthru\driver\objchk_wlh_amd64\amd64\ ,输入命令
“makecert -r -pe -ss zcPrivateCertStore -n CN=zcContoso.com(Test) zcContosoTest.cer”
(这里可以看到 zcContosoTest.cer 生成了)
然后查看 刚创建的证书,doc P.9 的 To use the MMC Certificates snap-in to view a certificate

五、(Using Inf2Cat to Create a Catalog File ==> doc P.11)
1)、将 C:_passthru_wdk7\driver\ 中的 netsf.inf 和 netsf_m.inf 复制到 C:\passthru\driver\objchk_win7_amd64\amd64\ 中 。
2)、修改 copy过来的 inf 。
A)、两个 inf 中分别都要添加3行使之变为 :

……
[Version]
Signature = “$Windows NT$”
Class = NetService
ClassGUID = {4D36E974-E325-11CE-BFC1-08002BE10318}
Provider = %Msft%
DriverVer =10/01/2002,6.0.5019.0

CatalogFile.Ntx86 = zcPassthru_x86.cat
CatalogFile.NtIA64 = zcPassthru_ia64.cat
CatalogFile.NtAMD64 = zcPassthru_AMD64.cat

[Manufacturer]
%Msft% = MSFT,NTx86,NTia64,NTamd64
……

B)、两个 inf 中的
DriverVer =10/01/2002,6.0.5019.0 都改为 DriverVer =10/01/2011,6.0.5019.0
3)、cmd_wdk7 中执行命令 :
“Inf2cat.exe /driver:C:\passthru\driver\objchk_win7_amd64\amd64\ /os:7_x64”
(这里可以看到 zcPassthru_amd64.cat 生成了)

六、Test-Sign the Catalog File ==> doc P.14
即 对这里的 zcPassthru_amd64.cat 进行签名。

Signtool sign /a /v /s zcPrivateCertStore /n zcContoso.com(Test) /t http://timestamp.verisign.com/scripts/timestamp.dll zcPassthru_amd64.cat

七、Install the Test Certificate in the Trusted Root Certification Authorities Certificate Store ==> doc P.15
将我们的证书安装到 受信任的根证书颁发机构 。
“certmgr.exe /add zcContosoTest.cer /s /r localMachine root”
然后可以查看 doc P.16

八、Test-Sign a Driver Image File by Using an Embedded Signature ==> doc P.18
对驱动程序进行签名。https://msdn.microsoft.com/zh-cn/library/8s9b9yaz.aspx

Signtool sign /v /s zcPrivateCertStore /n zcContoso.com(Test) /t http://timestamp.verisign.com/scripts/timestamp.dll passthru.sys
” ==> doc P.19

可以对签名进行确认查看 doc P.20

ps : 上面命令中有时容易打错字母,需要注意,打错个别字母时查起来很费劲…

// ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==> ==>

上面将该生成的都生成了(zcContosoTest.cer 、zcpassthru_amd64.cat),该签名的也签名了(zcpassthru_amd64.cat、passthru.sys) 。
那么如何将签好名的东西装到测试用的机器上去呢?如下操作:

 ps : 测试机上新建文件夹 C:\_passthru_wdk7_cert ,这里的目标机是 Win2008_x64

一、To install the test certificates ==> doc P.22
安装 测试证书。
1)、将 zcContosoTest.cer 复制到 C:_passthru_wdk7_cert 中 ;一般目标机中 不会有 certmgr.exe ,则在 WDK7 的安装目录(C:\WinDDK\7600.16385\bin\amd64)找到 certmgr.exe ,也复制到 测试机 C:_passthru_wdk7_cert 中 。
2)、管理员权限 打开 cmd ,进入目录 C:_passthru_wdk7_cert 。(这里要确保是管理员身份的话,就直接找到“C:\WINDOWS\system32\cmd.exe”,然后右击“以管理员身份运行(A)”)
3)、安装 zcContosoTest.cer 到本机的 Trusted Root Certification Authorities 。命令 :
“certmgr.exe /add zcContosoTest.cer /s /r localMachine root”
4)、安装 zcContosoTest.cer 到本机的 Trusted Publishers 。命令 :
“certmgr.exe /add zcContosoTest.cer /s /r localMachine trustedpublisher”

 ps : 注意上面两步的作用地方是不一样的。(可用 certmgr.msc 查看)

5)、管理员cmd –> “bcdedit.exe /set TESTSIGNING ON” ==> doc P.24 –> 机器重启。
6)、正常方式安装 签名过的 passthru.sys (安装时的警告还是会出现的…)

Win64 驱动签名相关推荐

  1. Win64 驱动内核编程-2.基本框架(安装.通讯.HelloWorld)

    驱动安装,通讯,Hello World 开发驱动的简单流程是这样,开发驱动安装程序,开发驱动程序,然后安装程序(或者其他程序)通过通讯给驱动传命令,驱动接到之后进行解析并且执行,然后把执行结果返回. ...

  2. EV代码签名证书,支持Windows 10预览版和正式版驱动签名

    DigiCert EV代码签名证书具有普通内核代码签名证书的所有功能,但不同的是采用更加严格国际标准扩展验证(EV验证),并且有严格的证书私钥保护机制--必须采用 USB Key来保护签名证书的私钥, ...

  3. Windows 内核驱动签名策略

    Windows的驱动签名策略起始于Win7 64位操作系统,从Win7 64位一直到 Win10 1511版本,驱动程序必须要有SHA1签名,且证书必须使用微软签发的证书交叉签名. 后来微软推行了SH ...

  4. zipsys驱动签名工具_全球首发 300系列主板USB WIN7 64位驱动 SMXDIY

    本版为改版驱动,仅供SMXDIY会员学习测试,禁止传播.众所周知,H310/B360/H370/Z390是没USB的WIN7驱动的.网上也找不到相关的资料,大家普遍默认没驱动,但这已经成为历史.我们这 ...

  5. win7、win10关闭驱动签名,进入驱动测试模式,以及常见初级问题的解决

    win7关闭驱动签名,进入驱动测试模式 win7.win10关闭驱动签名.进入驱动测试模式 方式一: 方式二:批处理文件实现:管理员权限打开win7-win10驱动测试模式 方式三: DebugVie ...

  6. Windows 10驱动签名_win 10驱动数字签名_驱动签名注意事项

    目前对于驱动开发者而言往往面对着一个问题--windows 10驱动数字签名问题,根据Symantec VeriSign代码签名中国区代理商 深圳易维信的客服所介绍,目前颁发的Symantec Cod ...

  7. 放弃使用禁用驱动强制签名了,建议申请驱动签名证书

    驱动程序软件的数字证书和普通的其他软件有很大的区别.曾经,驱动程序也可以用 EV 代码签名证书进行数字签名,但随着微软的策略调整,想要给驱动获取数字签名,已经不仅仅是有 EV 代码签名证书就可以的了. ...

  8. 证书系统64驱动签名工具64Signer

    首先声明,我是一个菜鸟.一下文章中涌现技术误导情况盖不负责 [作者:张佩][工具下载:http://www.yiiyee.cn/Blog/64signer/] 背景分析 微软对于自Vista开始的64 ...

  9. 代码签名、驱动签名的常见问题解答

    什么是代码签名证书? 代码签名证书(Code Signing Certificates)是为软件开发者提供代码软件数字签名的认证服务. 代码签名证书通过对代码的数字签名,可标识软件来源以及软件开发者的 ...

  10. 【Linux 】内核签名(签名内核模块)、linux 驱动签名、安装特定版本的 kernel-devel

    Linux 内核签名 Linux 内核签名(签名内核模块).linux 驱动签名_西京刀客-CSDN博客_linux内核签名 安装特定版本的 kernel-devel 两种方法. 一.yum 安装 查 ...

最新文章

  1. 科普:浅谈 Hellinger Distance
  2. 算法--------------有效的数独
  3. 彻底理解 Redis 的持久化和主从复制
  4. windows下用elasticdump导入json数据到Elasticsearch中
  5. HTTP协议之响应头Date与Age
  6. 2022考研 【理工专场讲座(新政策分析、专业分析、复习建议)】
  7. ubuntu19.10改成aliyun源
  8. swift开发:试玩 Apple 网站的 playground
  9. 沈阳初级计算机职称,沈阳职称申报(附网址)
  10. 网络地址转换协议NAT详解
  11. Office LTSC 2021 for Mac
  12. 磊科路由器信号按键_磊科路由器怎么设置中继? | 192路由网
  13. 如何解决手机retina显示屏下的1px太粗问题
  14. 中间视频上下图片的视频效果怎么制作
  15. HTTP错误代码 404 503 500
  16. charles 抓 app 请求,设置端口,手动设置手机代理IP 、端口,增加监控的网址,并在手机安装证书防止乱码
  17. 课余或者业余学习python,可以嘛?
  18. 老男孩51CTO博客博文列表整理版20170620更新
  19. 21届毫无工作经验毕业生竟然拿到了阿里的意向书?在此分享一下我的阿里3面+HR面面经
  20. Python视觉摄像头检测有趣项目之机器学习和概率论重点概念分析重要(三)(重点)

热门文章

  1. 怀念偶像科比布莱恩特--------Kobe Bryant
  2. bitcoin中私钥、公钥、钱包地址之间的关系
  3. 夜神与android链接,夜神安卓模拟器连接adb的方法步骤
  4. python-pygame实现飞机大战-2-添加敌机以及碰撞爆炸
  5. 阿里的世界版图——“风清扬”的全球梦
  6. php随笔_PHP随笔 - 风清扬-深圳的个人页面 - OSCHINA - 中文开源技术交流社区
  7. 发了两个月传单,他转行做了程序员
  8. L5 Limits and Continuity
  9. 什么是爬虫?有哪些用途
  10. 千呼万唤始出来——GPT-3终于开源!