Ale*_*dru 24 c# dll code-signing certificate signtool
我从证书服务器发给自己一个代码签名证书.我也从同一个证书服务器发给自己的根证书.根证书存在于"受信任的根证书颁发机构"文件夹中的"当前用户"和"本地计算机"证书存储中.我已使用signtool.exe向导成功签名了DLL:
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\signtool.exe" signwizard <MyDLLName>.dll
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试验证我的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
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我认为在受信任的根证书颁发机构文件夹中拥有根证书将验证DLL.
Kev*_*een 54
在您的验证命令中添加/ pa选项,告诉它使用默认验证验证策略而不是Windows驱动程序验证策略,这意味着它将查看您的证书存储,而不是Microsoft信任的驱动程序的有限CA集.
在这里查看更多选项:http: //msdn.microsoft.com/en-us/library/8s9b9yaz(v=vs.90).aspx