SignTool.exe Спорадически не удается с кодом выхода 1 - PullRequest
8 голосов
/ 21 февраля 2012

В рамках нашей системы сборки мы используем signtool.exe с сертификатом для подписи наших двоичных файлов после их сборки.Иногда (трудно сказать, когда это произойдет), происходит сбой подписи:

 error MSB3073: The command "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin\signtool.exe" [...] exited with code 1.

Согласно MSDN, код выхода 1 означает, что при подписании файла произошла ошибка.Я могу убедиться, что файл не подписан.

Я также заметил, что иногда часть отметки времени истекает с другим сообщением об ошибке, хотя файл все еще подписывается (без отметки времени).

Как устранить неполадки и исправитьэти, казалось бы, случайные, противоречивые ошибки подписи?

Ответы [ 4 ]

5 голосов
/ 21 февраля 2012

Я сильно подозреваю, что сбой соединения с сервером отметок времени является причиной случайных сбоев. Возможно, вы проверяете системный журнал событий на предмет потерянных соединений в данный момент.

2 голосов
/ 24 марта 2015

Я только что в этой проблеме, на Windows 8.1, так что это не проблема корневых сертификатов Windows XP, что некоторые люди цитируют.

Я обнаружил, что проблема была вызвана тем, что был подписан .exeБег.

Если вы запустите signtool из командной строки cmd и попытаетесь подписать его, вы получите полезное текстовое сообщение, сообщающее, что не так (намного лучше, чем код возврата 1 из CreateProcess ().

Остановил запущенный процесс и смог подписать ОК.

2 голосов
/ 04 июня 2013

У меня была такая же проблема.Это происходит потому, что процесс защиты от вредоносных программ MS MsMpEng.exe проверяет двоичный файл и не позволяет никому получить к нему доступ.Чтобы решить проблему, я собираю двоичный файл на RAM-диске, и он работает.

1 голос
/ 20 января 2016

В моем случае файл .pfx в решении был старым. Пока кто-то не сказал мне заменить файл сертификата на новый, действительный, я продолжал получать ошибку «Сбой с кодом выхода 1».

Это означает, что файл сертификата действителен и не имеет срока действия.

...