SignTool错误:访问被拒绝



我正在尝试对签名进行身份验证。NET应用程序,该应用程序在安装了VS2010的Windows Server 2008 R2 x64上具有新的代码签名证书,但SignTool继续响应访问被拒绝

SignTool.exe sign /v /a /sha1 <thumbprint> MyApplication.exe
The following certificate was selected:
    Issued to: <redacted>
    Issued by: VeriSign Class 3 Code Signing 2010 CA
    Expires:   Thu Jun 28 01:59:59 2012
    SHA1 hash: <thumbprint>
Done Adding Additional Store
SignTool Error: Access is denied.
SignTool Error: An error occurred while attempting to sign: MyApplication.exe
Number of files successfully Signed: 0
Number of warnings: 0
Number of errors: 1

证书安装到用户的个人存储中,并且用户是本地Administrators组的成员。我也尝试过使用.pfx文件进行签名,但一直出现同样的错误。禁用UAC提示也没有效果。

有什么想法吗?

我也有这个pb,可以在windows 8中使用signtool.exe。要解决此问题,您必须直接从c:\windows\system32\cmd.exe单击"以管理员身份运行"来运行cmd.exe。

解决问题的是意识到我的exe是只读的。删除写保护使SignTool能够完成其工作而不会出现进一步的问题。

(来源:eselk在SignTool上的评论错误:访问被拒绝(

原因是启用了私钥保护,但除非以管理员身份运行命令提示符,否则不会出现相应的"应用程序正在请求访问受保护的项。"提示符。

为了解决这个问题,我不得不删除证书和密钥,然后从.pfx文件中重新导入,这次没有选择强私钥保护选项。

我也遇到了同样的问题,但在我的情况下,我试图从在LocalSystem帐户下运行的windows服务运行。将其更改为常规帐户解决了问题。

最新更新