«Произошла ошибка при подписании: ключ недопустим для использования в указанном состоянии» при компиляции надстройки Outlook 2010 - PullRequest
5 голосов
/ 20 декабря 2011

Я создаю надстройку Outlook 2010, которая будет привязана к нашей системе тикетов с помощью API систем тикетов. Неделю назад я смог скомпилировать и получить контекстные / ленточные меню, которые правильно выполняли свои функции. Сегодня утром я добавил некоторые функции для шифрования и дешифрования ключа API, но теперь, когда я пытаюсь скомпилировать, я получаю

"Ошибка 1 Произошла ошибка при подписании: ключ недействителен для использования в указанном состоянии."

Нет номера строки или файла, связанного с ошибкой. Сначала я подумал, что это что-то с классом System.Security, который я включил, но комментирование всего связанного с этим и удаление ссылки на System.Security не решило проблему.

Я попытался перезапустить все и сделать чистую сборку без удачи. По совету этого сообщения на форуме я попытался удалить и мою машину, и локальные файлы RSA, но это не имело никакого значения. Я также попытался удалить файл _TeilitaryKey.pfx в моем решении в надежде, что если у него возникнут проблемы, VS создаст новый рабочий файл, но это даже не изменит сообщение об ошибке, сообщающее, что файл отсутствует. 1009 *

После всего этого я попытался открыть другой проект надстройки, который я не изменял около недели, и в нем тоже была та же ошибка. На данный момент я не уверен, что это проблема Visual Studio или моего компьютера, но новый проект надстройки Outlook успешно скомпилируется, поэтому он влияет только на старые проекты.

Ответы [ 2 ]

11 голосов
/ 03 января 2012

Создание нового тестового сертификата, похоже, решило проблему. Этот пост в блоге указал мне правильное направление.

  • Откройте страницу свойств для проекта, который выдает ошибку.
  • Перейдите на вкладку «Подписание».
  • Нажмите Создать тестовый сертификат.
  • Введите пароль и нажмите ОК.

Это заставило меня снова работать.

0 голосов
/ 25 июня 2014

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

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

Следует отметить, что, если прошло достаточно времени, сертификат может истечь, и было бы лучше создать новый.

...