4

我正在尝试使用 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 添加到命令行提供了额外的输出,但没有提供任何错误帮助。

我在我确认可以访问 Luna 服务器的 Win7 x64 机器上签名。

4

0 回答 0