You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 7已签名驱动启动失败,错误码0xC0000428求助

解决Windows 7下DigiCert SHA256签名驱动加载失败(0xC0000428)的方案

我之前帮客户处理过几乎一模一样的问题——Windows 7对SHA256代码签名的兼容性坑确实不少,尤其是更换CA(从GlobalSign到DigiCert)之后,很容易出现验证失败的情况。结合你的描述,给你整理几个针对性的排查和解决步骤:

1. 先确认Windows 7的SHA256支持补丁是否装全

别以为只装了单个SHA256热修复就够了,Windows 7需要一套完整的补丁组合才能正常识别SHA256签名的驱动:

  • KB2999226:先装这个通用CRT更新,很多驱动依赖它的基础组件
  • KB3033929:启用系统对SHA-2代码签名的支持
  • KB3063858:更新根证书库,让Windows 7信任DigiCert的SHA2根证书链
    一定要按这个顺序安装,装完每个都重启,最后再整体重启一次。很多人漏掉了KB3063858,导致DigiCert的证书根链不被系统信任,直接触发0xC0000428错误。

2. 确保签名时带上完整的DigiCert中间证书链

你用的signtool命令里没有指定中间证书,这很可能是问题所在。Windows 7不像新系统那样能自动拉取中间证书,必须在签名时把中间证书一起嵌入。
步骤如下:

  1. 从DigiCert官网下载对应你证书的SHA2中间证书(比如DigiCertSHA2CodeSigningCA.crt)
  2. 修改签名命令,加上/ac参数指定中间证书:
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /ac "DigiCertSHA2CodeSigningCA.crt" /a "C:\ICS\IM6000\filter\objfre_win7_AMD64\amd64\icsflt.sys"

签完之后,右键驱动文件→属性→数字签名,查看证书路径,确保从你的代码签名证书到DigiCert的SHA2根证书(比如DigiCert Global Root G2)的整个链都是“正常”状态,没有红色叉号。

3. 验证时间戳是否符合SHA2要求

Windows 7对SHA2签名的时间戳也有严格要求,必须是SHA2算法的时间戳。你用的http://timestamp.digicert.com是对的,但要确保signtool版本足够新(你用的Windows Kits 8.1版本没问题,别用VS2010自带的旧版signtool)。
可以用下面的命令验证签名细节:

signtool.exe verify /v /pa "C:\ICS\IM6000\filter\objfre_win7_AMD64\amd64\icsflt.sys"

看输出里的“时间戳签名算法”部分,必须是sha256RSA,如果是SHA1的时间戳,Windows 7会直接拒绝验证。

4. 尝试正确的双签名(SHA1 + SHA2)兼容方案

你说试过双签名,但可能步骤不对。正确的双签名应该先签SHA1,再追加SHA2签名,而且要对应各自的中间证书:

# 第一步:SHA1签名(搭配SHA1时间戳和SHA1中间证书)
signtool.exe sign /tr http://timestamp.digicert.com /td sha1 /fd sha1 /ac "DigiCertSHA1CodeSigningCA.crt" /a "C:\ICS\IM6000\filter\objfre_win7_AMD64\amd64\icsflt.sys"
# 第二步:追加SHA256签名(搭配SHA2时间戳和SHA2中间证书)
signtool.exe sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /ac "DigiCertSHA2CodeSigningCA.crt" /as /a "C:\ICS\IM6000\filter\objfre_win7_AMD64\amd64\icsflt.sys"

/as参数是关键,它会在现有签名基础上追加新的签名,而不是覆盖。这样Windows 7会优先识别SHA1签名(如果补丁不全),补丁全的话会用SHA2,完美兼容。

5. 手动导入DigiCert根证书到系统信任库

如果装了KB3063858还是不行,可能是系统根证书库没有正确更新。手动导入DigiCert的SHA2根证书:

  1. 下载DigiCert Global Root G2证书
  2. 右键证书文件→安装证书→选择“本地计算机”→下一步
  3. 选择“将所有证书放入下列存储”→浏览→选择“受信任的根证书颁发机构”
  4. 完成后重启系统,再尝试加载驱动

最后,签完驱动一定要用signtool verify命令检查,或者查看文件属性里的数字签名,确保所有签名的证书链都是完整有效的。

内容的提问来源于stack exchange,提问作者Sarah Weinberger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:18:11