При попытке подписать файл появляется сообщение «Ошибка SignTool: доступ запрещен».Когда я использую cmd администратора, все работает нормально.Однако этот процесс будет использоваться в процессе сборки TFS 2010, и при использовании задачи InvokeProcess с signtool выдается то же сообщение об отказе в доступе, что и в командной строке без прав администратора.
Дополнительная информация:
- На машине предприятия Win2008 R2.
- Пользователь является администратором машины и в домене.
- Служба сборки TFS также настроена для запуска от имени этого пользователя.
- Использование самоподписанного сертификата, созданного с использованием следующих инструкций: Как создать самоподписанный сертификат для подписи кодав Windows?
После выполнения этих инструкций у меня есть следующие файлы:
- MyCA.cer
- MyCA.pvk
- MySPC.cer
- MySPC.pvk
- MySPC.pfx
MyCA находится в моих доверенных корневых центрах сертификации. Я импортировал MySPC.pfx в личные сертификаты, выполнив следующие действия.совет здесь: Ошибка SignTool: доступ запрещен
Для подписи я использую отпечаток MySPC.pfx, который был импортирован в раздел Personal, поэтому моя команда signtool выглядит следующим образом::
sign / sha1 1e9d7b5ad98552d9c58944e3f3903e6b929f4819 / t http://timestamp.verisign.com/scripts/timestamp.dll "FileName"
Еще раз это работает в режиме администратора.Это также работает при запуске cmd от имени администратора:
sign / f "C: \ Non-Release для подписи кода \ MySPC.pfx" / t http://timestamp.verisign.com/scripts/timestamp.dll "FileName"
Newдля подписи кода в целом, поэтому любая помощь приветствуется.