Ошибка SignTool: доступ запрещен
Я пытаюсь выполнить проверку подлинности подписи приложения.NET с новым сертификатом подписи кода на Windows Server 2008 R2 x64 с установленным VS2010, но 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 также не показало никакого эффекта.
Есть идеи?
3 ответа
Причина заключалась в том, что защита с закрытым ключом была включена, но, если не запустить командную строку от имени администратора, соответствующее "Приложение запрашивает доступ к защищенному элементу". подсказка не появилась.
Чтобы решить эту проблему, мне пришлось удалить сертификат и ключ, а затем снова импортировать его из файла.pfx, на этот раз не выбрав опцию надежной защиты закрытого ключа.
У меня также был этот pb для использования signtool.exe с Windows 8. Чтобы решить эту проблему, вы должны запустить cmd.exe непосредственно из c:\windows\system32\cmd.exe, нажав "Запуск от имени администратора".
Для меня это решило осознание того, что мой exe доступен только для чтения. Снятие защиты от записи позволило SignTool выполнить свою работу без каких-либо проблем.
(Кредит: комментарий eselk при ошибке SignTool: доступ запрещен)
У меня была та же проблема, но в моем случае я пытался запустить службу Windows, которая работала под учетной записью LocalSystem. Переключение на обычный аккаунт решило проблему.