Ошибка при использовании Visual Studio 2010 для подписи сборки: «Была сделана попытка сослаться на несуществующий токен» - PullRequest
17 голосов
/ 04 мая 2010

Я пытаюсь подписать сборку в Visual Studio 2010 с помощью нашего PFX файла.После ввода пароля для закрытого ключа я получаю:

Была сделана попытка сослаться на несуществующий токен

Как я могу исправить эту проблему?

Ответы [ 4 ]

14 голосов
/ 29 октября 2012

Запуск Visual Studio от имени администратора исправил эту проблему для меня.

13 голосов
/ 04 мая 2010

У меня такая же проблема. Просто используйте signtool из командной строки Visual Studio. Иногда signtool утверждает, что ваш пароль неверен, но обычно после нескольких попыток он начинает работать для меня.

signtool.exe sign /f YOURCERT.pfx /p YOURPASSWORD YOURTARGET.exe

9 голосов
/ 15 ноября 2011

Если вы хотите, чтобы Visual Studio автоматически подписывал файлы и работал с ClickOnce , мне нужно было сделать следующее:

  • Получить копию OpenSSL . доступно для Windows . Или используйте коробку Linux, поскольку у них всех есть почти все.

  • Выполните следующее для экспорта в файл ключа:

    openssl pkcs12 -in certfile.pfx -out backupcertfile.key
    
    openssl pkcs12 -export -out certfiletosignwith.pfx -keysig -in backupcertfile.key
    

Тогда в свойствах проекта вы можете использовать файл PFX.

1 голос
/ 11 августа 2014

Вот что у меня сработало.

Сначала попытайтесь построить свой проект с включенной опцией подписи ключей для вашего проекта. Сборка не удалась, перейдите в окно «Вывод», и вы увидите ошибку вроде:

Ошибка 1 Не удается импортировать следующий файл ключа: MyKey.pfx. Ключевой файл может быть защищен паролем. Чтобы исправить это, попробуйте импортировать сертификат заново или вручную установить сертификат на Сильный Назовите CSP со следующим именем контейнера ключа: VS_KEY_7B9423FE45F4DBEB Project.SomeName

Сохраните имя хранилища ключей (например, VS_KEY_7B9423FE45F4DBEB), оно понадобится вам позже.

Теперь выполните следующие действия:

  1. Импорт ключа цифрового сертификата (PFX) в хранилище сертификатов Windows. Дважды щелкните ключ PFX в проводнике Windows и установите / импортируйте его в хранилище ключей (я фактически импортировал его в хранилище доверенных корневых сертификатов, выбрав вручную выбрать хранилище).
  2. Запустите Visual Studio 2010 как обычный пользователь (я не сталкиваюсь с этой проблемой подписи ключей как администратор, но хочу отлаживать свои приложения как пользователь) (оставьте ее открытой в течение всего этого процесса)
  3. В меню «Пуск» откройте ярлык Visual Studio Command Prompt (2010) (x64, если у вас машина x64) в качестве администратора (щелкните правой кнопкой мыши ярлык командной строки Visual Studio 2010 и выберите запуск от имени администратора). Это должно открыть административную командную строку с настройкой среды Visual Studio. (не обычная командная строка)
  4. В командной строке введите sn -d VS_KEY_xxxx с именем хранилища ключей из сообщения об ошибке, которое вы сохранили в начале
  5. Затем введите sn -i xxx.pfx VS_KEY_xxxx, введите пароль при появлении запроса, xxx.pfx, если ваш цифровой сертификат
  6. Вернитесь в Visual Studio и перестройте свой проект
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...