2011-06-30 204 views
2

我試圖驗證碼簽署與VS2010安裝2008 R2的x64的Windows Server上的一個新的代碼簽名證書.NET應用程序,但SignTool保持與訪問響應被拒絕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 

證書安裝到用戶的個人存儲中,並且該用戶是本地管理員組的成員。我也嘗試使用.pfx文件進行簽名,但不斷收到相同的錯誤。禁用UAC提示也沒有效果。

任何想法?

回答

2

原因是私鑰保護已啓用,但除非以管理員身份運行命令提示符,否則相應的「一個應用程序正在請求訪問受保護的項目」。提示沒有出現。

要解決此問題,我必須刪除證書和密鑰,然後將其從.pfx文件重新導入,這次不選擇強大的私鑰保護選項。

+4

對於將來的讀者:還要確保您正在嘗試簽名的文件未標記爲只讀,那是我的問題。 – eselk

+0

感謝@eselk,您的建議對我而言是正確的解決方案。 –

4

我也有這個pb在Windows 8中使用signtool.exe。要解決,你必須直接從c:\ windows \ system32 \ cmd.exe運行cmd.exe,點擊「以管理員身份運行」。

0

我有同樣的問題,但在我的情況下,我試圖從在LocalSystem帳戶下運行的Windows服務運行。將其更改爲常規帳戶解決了問題。