我已经从证书服务器向自己颁发了代码签名证书。我还为自己颁发了来自同一证书服务器的根证书。根证书存在于受信任的根证书颁发机构文件夹中的当前用户和本地计算机证书存储中。我已经使用 signtool.exe 向导成功签署了一个 DLL:
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\signtool.exe" signwizard <MyDLLName>.dll
但是,当我尝试验证我的 DLL 时,验证失败并出现以下错误:
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\signtool.exe" verify <MyDLLName>.dll
SignTool Error: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
SignTool Error: File not valid: <MyDLLName>.dll
为什么会这样?我认为在受信任的根证书颁发机构文件夹中拥有根证书可以验证 DLL。