5

我正在尝试在安装了 VS2010 的 Windows Server 2008 R2 x64 上使用新的代码签名证书对 .NET 应用程序进行身份验证,但 SignTool 一直响应Access is denied

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

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

有任何想法吗?

4

4 回答 4

4

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

于 2012-11-25T08:52:05.870 回答
4

为我解决的问题是意识到我的 exe 是只读的。删除写保护允许 SignTool 完成其工作而不会出现其他问题。

(信用: eselk 在SignTool 错误的评论:访问被拒绝

于 2019-08-15T10:10:06.877 回答
2

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

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

于 2011-07-13T10:21:38.987 回答
1

我遇到了同样的问题,但就我而言,我试图从在 LocalSystem 帐户下运行的 Windows 服务运行。将其更改为普通帐户解决了该问题。

于 2016-01-18T15:10:13.903 回答