微软弃用交叉签名证书后Win10/11内核驱动签名新流程咨询
生产环境Windows 10/11内核驱动签名完整流程
1. 前置准备:申请EV级代码签名证书
- 可从Digicert、Globalsign等微软信任的CA机构申请EV级代码签名证书,普通OV代码签名证书不满足驱动签名提交要求
- 申请时需提交对应企业资质、联系人身份等材料,CA机构会完成线下核验,证书最终会存储在物理USB Key中,私钥不可导出
2. 注册绑定微软硬件开发者账号
- 使用企业身份注册微软硬件开发者账号,完成企业资质核验,缴纳对应注册费用后,将你持有的EV代码签名证书绑定到该账号中
3. 驱动本地预签名
- 将EV证书对应的USB Key插入开发设备,使用
SignTool工具对编译完成的驱动文件(.sys、.cat等)做本地预签名,参考命令:signtool sign /v /n "你的EV证书主体名称" /t http://timestamp.digicert.com /fd SHA256 <驱动文件路径>.sys - 预签名完成后可执行命令验证本地签名有效性:
signtool verify /v /kp <驱动文件路径>.sys
4. 提交微软官方签名
目前生产环境可用的微软签名分为两种场景,可根据业务需求选择:
- 场景A:Attestation签名(无需HLK测试,适配Win10 1607及以上、Win11全版本)
- 将预签名后的驱动文件、对应的INF配置文件打包为CAB格式压缩包,使用EV证书对CAB包做签名
- 登录微软硬件伙伴中心,选择「Attestation Signing」提交入口,上传签名后的CAB包
- 等待微软后台审核,通常1-2个工作日即可完成,审核通过后下载微软签名后的驱动包
- 场景B:WHQL签名(全Windows版本兼容,适配所有生产环境)
- 按照微软官方要求搭建HLK测试环境,针对你需要适配的所有Windows版本完成驱动兼容性测试,导出测试报告包
- 将预签名驱动、INF文件、HLK测试报告打包为CAB包并完成EV签名
- 提交到硬件伙伴中心的WHQL签名通道,审核通过后获得带有WHQL签章的驱动包
5. 签名有效性核验
- 下载微软返回的签名驱动包后,再次使用
SignTool验证签名有效性,确认签名链包含微软根证书 - 在开启了Secure Boot的测试设备上安装驱动,确认无系统签名拦截提示,驱动可正常加载运行
内容的提问来源于stack exchange,提问作者ALsec
相关产品推荐
相关产品推荐

