使用pfx文件使用signtool.exe进行签名和验证

时间:2016-06-25 00:45:22

标签: wix certificate sign pfx signtool

我正在尝试使用签名工具签署我的一个WIX EXE。当我创建证书并将其安装到Windows证书库时,我可以使用签名工具轻松验证EXE。但是当我尝试创建PFX文件并对其进行签名时,它会成功签名。但是当我尝试验证它时,会抛出以下错误。

SignTool Error: WinVerifyTrust returned error: 0x800B010A
    A certificate chain could not be built to a trusted root authority.

Number of errors: 1

我尝试使用证书链并使用https://social.msdn.microsoft.com/Forums/sqlserver/en-US/da5d1aef-5dbc-4400-8972-fef4d7139d99/where-windows-sdk-tools-like-cert2spcexe-and-pvk2pfxexe-go?forum=windowssdk答案中提到的命令进行签名。但这也会导致同样的错误。我的要求是使用signtool使用PFX文件进行签名和验证。我无法使用Windows应用商店。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

http://msdn.microsoft.com/en-us/library/ff699202.aspx中描述的方法创建了自签名测试证书。自签名测试证书未由受信任的第三方签名,因此您会收到错误“无法将证书链构建到受信任的根颁发机构”。尝试验证证书签名的文件时。

如果要修复错误,则需要从证书颁发机构获取代码签名证书。通常是收费的。

购买代码签名证书时,认证机构会采取某些步骤来验证您的身份。如果这些步骤通过,则认证机构会向您颁发由其私钥签名的证书。他们的私钥是保密的。验证签名文件时,验证过程将从签名文件中提取代码签名,并根据所有认证机构提供的已知公钥对其进行验证。