Win10 如何给Inf驱动文件签名

Win10 如何给Inf驱动文件签名

在Win10下,我们自己开发的Inf驱动需要添加签名才能被安装成功,在开发阶段,暂时还没有权威CA机构颁发的证书,我们可以创建自签名证书来给我们的驱动签名,具体步骤如下:

工具准备

我们需要使用到Inf2Cat,makecert,Signtool,CertMgr等工具,需要下载Windows 10 SDK来获取,可以通过Visual Studio Installer下载,也可以直接在官网下载:
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

制作自签名证书

  • 打开Visual Studio的命令行工具
    在这里插入图片描述

  • 制作cer证书
    输入命令:

makecert -r -pe -ss root -n CN="My Company CA" -$ commercial -b 01/01/2020 -e 01/01/2100 MyCert.cer

makecert 命令使用说明如下:
https://docs.microsoft.com/en-us/windows/win32/seccrypto/makecert

命令输入后,弹出安全警告,点击"是"即可,此时产生了MyCert.cer根证书

  • 导出PFX格式证书
    在Windows搜索栏输入MMC并打开:
    在这里插入图片描述
    在"文件"->“添加管理单元"中添加"证书"至我的账户,并确认:
    在这里插入图片描述
    在"受信任的根证书颁发机构”->“证书"中找到刚才安装的证书"My Company CA”,右击"所有任务"->“导出"进入证书导出向导:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    按照如上步骤,设置好密码,最后通过"浏览"设置文件导出路径即可完成,我这里把文件名设置为"Mycert.pfx”,至此我们产生了2个证书文件:
    在这里插入图片描述

给INF文件签名

  • 生成Cat目录文件
    将INF文件"MyDirver.inf"与证书文件放至同一目录:
    在这里插入图片描述
    使用上面提到的的Visual Studio命令行工具进入该目录,执行命令:
inf2cat /v /os:XP_X86,Vista_X86,Vista_X64,7_X86,7_X64,8_X86,8_X64,6_3_X86,6_3_X64,10_X86,10_X64 /driver:.

inf2cat 命令使用说明如下:
https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/inf2cat

此时将生成mydriver.cat(该名称取决于inf文件中的"CatalogFile"字段)文件:
在这里插入图片描述

  • 签名Cat文件
    同样在命令行工具下执行:
Signtool sign /v /fd sha256 /f MyCert.pfx /p 123456 /n "My Company" /t http://timestamp.digicert.com *.cat

signtool 命令使用说明如下:
https://docs.microsoft.com/zh-cn/dotnet/framework/tools/signtool-exe

其中"/p 123456"是导出pfx时设置的密码
命令执行成功后,在cat文件的属性中能够看到已经被签名:
在这里插入图片描述
至此,驱动已经签名成功,驱动可以在设备管理器中手动安装完成

给其他电脑安装驱动

  • 手动安装:
    若要用上面的步骤手动安装inf驱动,需要将inf,cat以及cer文件拷贝至目标电脑,
    首先需要安装证书,用管理员身份运行CMD,输入如下命令:
CertMgr /add MyCert.cer /s /r localMachine root /all

其中MyCert.cer为之前生成的根证书

安装证书成功后,即可在设备管理器中手动更新INF驱动

  • 7
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值