Ошибка SignTool: ISignedCode :: Ошибка возврата знака: 0x80092006 - PullRequest
6 голосов
/ 25 июня 2009

Я подписываю программу EXE сертификатом, выданным доверенным центром сертификации. Я использую signtool.exe из Windows SDK v6.0a.

Сертификат находится в компьютерном магазине и находится в папке «Personals».

Моя командная строка:

sign /sm /n "My company" /d MyProductName /du http://my.url.com "C:\Setup\setup.exe"

Когда я запускаю эту команду в командной строке, она работает нормально. Когда я запускаю эту команду в пакетном процессе (вызываемом веб-сервисом, поэтому при выполнении команды пользователь не вошел в систему), возникает следующая ошибка:

Количество ошибок: 1 Ошибка SignTool: ISignedCode :: Ошибка возврата знака: 0x80092006 Для магазина или объекта не указан поставщик.

Кто-нибудь может помочь в этом?

Ответы [ 5 ]

2 голосов
/ 27 января 2010

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

Войдите в учетную запись, на которой запущен веб-сервис, и импортируйте закрытый ключ в контейнер ключей. Это можно сделать, например, с помощью инструмента для строгого имени (sn.exe) из .NET :

sn -i MyCertificate.pfx MyCodeSigningKey

Теперь измените сценарий сборки, чтобы использовать этот контейнер ключей:

signtool sign /sm /a /v /csp "Microsoft Strong Cryptographic Provider" /kc MyCodeSigningKey <other parameters...>

/kc указывает контейнер ключа. /kc требует, чтобы вы указали «CSP» (провайдер криптографических услуг) через переключатель /csp. «Microsoft Strong Cryptographic Provider» - поставщик по умолчанию, используемый sn.

1 голос
/ 24 апреля 2012

Чтобы сэкономить кому-то время, у меня была эта проблема. Оказалось, мой сертификат как-то испортился. После того, как я удалил его из хранилища сертификатов и снова импортировал, проблема ушла. Я бы предложил создать файл PFX полностью или скопировать его из того места, где вы знаете, что он не поврежден.

1 голос
/ 23 июля 2009

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

/sm /d /du
Не используется
/n
Дополнительно используется
/t
0 голосов
/ 18 ноября 2016

Это может произойти, если ваш пароль Windows изменяется после установки сертификата. Смена пароля обратно к тому, что он был, это исправит. Если вы не можете этого сделать, вам необходимо переустановить сертификат.

0 голосов
/ 22 февраля 2013

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

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

В конечном итоге я сразу же после импорта PFX перешел на %allusersprofile%\Microsoft\Crypto\RSA\MachineKeys и защитил от записи последний файл (тот, который соответствует времени импорта).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...