visual-studio-2010 Невозможно импортировать ключевой файл «blah.pfx» - ошибка «Ключ-файл может быть защищен паролем»





11 Answers

Я обнаружил исправление, которое поможет вам успешно построить в среде нескольких разработчиков:

Вместо того, чтобы изменять пароль (который вызывает изменение .pfx), повторно выберите файл .pfx из выпадающего списка. Затем он вызывает диалог пароля. После ввода пароля проект будет построен ОК. Каждый разработчик может сделать это на своей локальной машине, фактически не изменяя файл .pfx.

У меня все еще возникают проблемы с сборкой сборок на нашей серверной машине сборки. Я получаю там же ошибку, но использование метода sn.exe -i не устраняет проблему для сервера buildserver.

visual-studio-2010 visual-studio passwords pfx

Мы только что обновили наши проекты Visual Studio 2008 до Visual Studio 2010. Все наши сборки были сильно подписаны с использованием сертификата подписи кода Verisign . С момента обновления мы постоянно получаем следующую ошибку:

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

Это происходит на некоторых машинах-разработчиках, а не на других. Некоторые методы, используемые для исправления этого, которые работали некоторое время, включают:

  • Переустановите файл ключа из проводника Windows (щелкните правой кнопкой мыши на файле PFX и нажмите «Установить»)
  • Установка Visual Studio 2010 на новую машину впервые запрашивает пароль при первом открытии проекта, а затем он работает. На компьютерах, обновленных с Visual Studio 2008, вы не получите эту опцию.

Я попытался использовать утилиту SN.EXE (инструмент сильного имени), чтобы зарегистрировать ключ с помощью сильного имени CSP, как это предлагает сообщение об ошибке, но всякий раз, когда я запускаю инструмент с любыми параметрами, используя версию, поставляемую с Visual Studio 2010, SN .EXE просто перечисляет аргументы командной строки, а не делает что-либо. Это происходит независимо от того, какие аргументы я поставлю.

Почему это происходит, и каковы четкие шаги по его устранению? Я собираюсь отказаться от установки ClickOnce и подписи кода Microsoft.




VSCommands 2010 (плагин для Visual Studio) может исправить это для вас автоматически - просто щелкните правой кнопкой мыши по ошибке и нажмите «Применить исправление» в меню. Вы можете получить его из галереи Visual Studio .




Я обнаружил, что в некоторых случаях вы должны попытаться удалить этот ключ перед его установкой. Итак, сделайте следующее:

  1. sn -d VS_XXXX
  2. sn -i mykey.pfx VS_XXX



Чтобы устранить эту проблему в Visual Studio 2012, я нажимаю правой кнопкой мыши проект, свойства -> «подпись», а затем снимите флажок «Подписать манифест ClickOnce».




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

Для одного варианта вы используете sn.exe (обычно, если вы делаете сильное именование), чтобы импортировать ключ в хранилище сильных имен.

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

Надеюсь это поможет.




Я переустановил файл Key (pfx) в раскрывающемся списке «Выбрать сильный ключевой файл», затем предоставил пароль в всплывающем окне «ВВОД ПАРОЛЬ». Сохраненный мой проект и выполнил rebuild.build.

  • Откройте Свойства проекта.
  • Нажмите на раздел Подпись.
  • Где он говорит: «Выберите сильный файл ключевого слова:», отмените текущее значение в раскрывающемся списке:

  • Теперь Visual Studio предложит вам ввести пароль. Введите его.

  • Сохраните проект и выполните восстановление.

  • Если вы получите сообщение об ошибке: «Была сделана попытка ссылаться на токен, который не существует», просто проигнорируйте его и выполните следующие шаги

  • Нажмите кнопку «Сменить пароль»:

  • Введите исходный пароль во все три поля и нажмите «ОК». Если вы хотите изменить свой пароль (или если ваш старый пароль не соответствует требованиям сложности), вы можете сделать это сейчас.

  • Сохраните проект и выполните восстановление.

Больше информации..




У меня была такая же проблема после переноса моей установки Windows на SSD . Ни один из других решений не работал для меня.

Моим решением было открыть файл проекта в « Notepad и удалить все ссылки на клавиши PFX. После сохранения файла откройте решение в Visual Studio. Перейдите в проект -> Свойства -> Подписание. Вы не должны видеть какие-либо ключи, перечисленные в поле «выбрать сильное имя ключевого файла». В поле со списком перейдите к ключу, выберите его, и теперь ваш проект может быть построен.




Все описанные здесь методы мне не помогли. Но когда я удалил * .pfx-файл из моего проекта и снова добавил его в сборку сборки, я построил проект без ошибок! Я не могу объяснить причины. Но это сработало для меня.




У меня была аналогичная проблема, но после выбора pfx в «Сильном файле ключевого слова» ComboBox и при вводе пароля я все равно получил аналогичную ошибку (без части названия контейнера):

Не удается импортировать следующий ключевой файл: companyname.pfx. Ключевой файл может быть защищен паролем. Чтобы исправить это, попробуйте снова импортировать сертификат или вручную установить сертификат

Кроме того, не была заполнена панель сведений о сертификате «Подписать кликов».

Я сделал «Выбор из файла ...» на моем pfx, и он решил проблему.




В моем сценарии служба сборки не использовала ту же учетную запись пользователя, что я импортировал ключ с помощью sn.exe .

После изменения учетной записи на мою учетную запись администратора все работает нормально.




FYI

Я использовал sn.exe с флагом -p в официальный код PFX-кода (купленный как подписание кода), как показано ниже, в котором создан файл SNK и в Visual Studio 2013 был просмотрен файл SNK для использования.

  • Что разрешило проблему с паролем.

Но проблема в том, что он продолжает говорить: «Ключевой файл * .. SNK не содержит пару открытого / закрытого ключа».




Related