在使用数字证书给驱动cat包签名时遇到提示错误:

SignTool Error: No certificates were found that met all the given criteria

检查pfx证书已经安装,cer证书文件也存在,联网也正常,但是总是提示这个错误。

签名语句为:

signtool.exe sign /s root /n "Test Certificate" /t http://timestamp.verisign.com/scripts/timestamp.dll *.cat

进一步对比分析,通过制定文件名方式签名,是正常可以签名成功的。

于是采用如下步骤重新安装证书,

双击.pfx证书,在证书存储目录选项中,选择“受信任的根证书颁发机构”,

wKioL1aV46KjziOtAABfKvRFEOY614.png

然后再重新签名,一切正常。

原因分析:

  1. 安装证书时默认选择路径和签名时配置的路径不一致,导致在root路径下找不到对应证书

解决方法:

  1. 重新安装证书,选择存放路径为“受信任的根证书颁发机构”

  2. 用指定文件名方式进行签名,如下

signtool.exe sign /f xxx.pfx /n "Test Certificate" /t http://timestamp.verisign.com/scripts/timestamp.dll *.cat