我正在尝试使用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)
我已经search了这个错误,但它似乎是唯一的我。 由于证书是私人的,我在这里编辑了一些信息。 请让我知道,如果有更多我可以提供帮助解决这个问题。
这是有效的,并签署一个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服务器。