我正在尝试使用SHA-256证书签署Windows内核驱动程序。我一直在MS支持下来回,状态没有变化。我从3个不同的WDK(7600,8.0,8.1)的32位和64位目录中尝试过SignTool.exe。
我的私钥生活在Luna CSP中。我有本地证书和交叉签名证书,我可以为有问题的驱动程序签署SHA-1签名,但是当我尝试签署SHA-256证书时,我收到错误:
SignTool错误:发生了意外的内部错误。错误 信息:“错误:SignerSign()失败。” (-2146893795 / 0x8009001d)
我搜索过这个错误,但它似乎对我来说是独一无二的。由于证书是私有的,我在这里编辑了一些信息。如果我能提供更多帮助来解决问题,请告诉我。
这是有效的,并且带有SHA-1签名的标志:
signtool.exe sign /ac "<path>\MSCV-VSClass3.cer" /f "<cert>.cer" /csp "Luna Cryptographic Services for Microsoft Windows" /kc <keystore> /t http://timestamp.verisign.com/scripts/timstamp.dll $file
这些给我上述错误:
signtool.exe sign /ac "<path>\MSCV-VSClass3.cer" /f "<cert>.cer" /csp "Luna Cryptographic Services for Microsoft Windows" /kc <keystore> /fd sha256 /sha1 <cert thumbprint> /tr http://timestamp.verisign.com/scripts/timstamp.dll /td sha256 $file
signtool.exe sign /ac "<path>\MSCV-VSClass3.cer" /f "<cert>.cer" /csp "Luna Cryptographic Services for Microsoft Windows" /kc <keystore> /fd sha256 /sha1 <cert thumbprint> /t http://timestamp.verisign.com/scripts/timstamp.dll $file
signtool.exe sign /ac "<path>\MSCV-VSClass3.cer" /f "<cert>.cer" /csp "Luna Cryptographic Services for Microsoft Windows" /kc <keystore> /fd sha256 /sha1 <cert thumbprint> /as /tr http://timestamp.verisign.com/scripts/timstamp.dll /td sha256 $file
在命令行中添加/ v / debug可提供额外的输出,但没有提供任何错误帮助。
我在Win7 x64机器上签名,我已经确认可以访问Luna服务器。