我们自建了基于rfc3163的时间戳服务器,用Signtool进行测试签名
SHA1的可以正常签名,但SHA256的签名失败。
以下是SHA1请求的结果
·
E:\software\SignTool>signtool timestamp /tr http://127.0.0.1:8154/tsa/TSS/RFC3161sha1TS E:\msdia80.dll
Successfully timestamped: E:\msdia80.dll
·
以下是SHA256请求的结果
E:\software\SignTool>signtool timestamp /tr http://127.0.0.1:8154/tsa/TSS/RFC3161sha2TS E:\msdia80.dll
SignTool Error: An error occurred while attempting to timestamp: E:\msdia80.dll
SignTool Error: An unexpected internal error has occurred.
Error information: "SignerTimeStampEx3() failed." (-1073700864/0xc000a000)
报错:Error information: "SignerTimeStampEx3() failed." (-1073700864/0xc000a000)
服务器这边抓包显示SHA256的请求已经正常签名了,抓包结果来看签名信息也正常。但Signtool处理的时候报错。
最终解决,原因:
签名的时候使用的摘要算法和结构中声明的签名算法不对应,导致验签失败。