如何使用signtool验证分离的PKCS7签名

时间:2017-10-19 11:08:56

标签: cryptography digital-signature

我们有一个文件,比如说scup.jpg,我们要签名并(稍后)用 signtool 进行验证。

对于嵌入式内容,我们执行

signtool.exe sign /p7 .\ /p7ce embedded /p7co 1.2.840.113549.1.7.2 /a /f .\pfx.p12 /p "somepass" .\scup.jpg

并生成一个名为scup.jpg.p7的文件,该文件可通过以下命令验证:

signtool.exe verify /p7 scup2.jpg.p7

但我们需要的不是嵌入式数据,而是分离式签名,因此我们将签名命令更改为

signtool.exe sign /p7 .\ /p7ce DetachedSignedData /p7co 1.2.840.113549.1.7.2 /a /f .\pfx.p12 /p "somepass" .\scup.jpg

并生成一个名为scup2.jpg.p7的分离签名文件,但无论我们尝试验证签名的是什么命令选项,signtool都会给我们错误,比如tis:

SignTool Error: CryptVerifyMessageSignature returned error: 0x8009310B
        ASN1 bad tag value met.
SignTool Error: File not valid: scup.jpg.p7

Number of errors: 1

我们做错了什么,是否可以使用 signtool 验证分离的签名?我知道我可以使用openssl或progarmming工具/ API,但目前我需要明确 signtool itelf。

0 个答案:

没有答案