Какого ключа не существует: Какого ключа не существует? — Умник.NET

Содержание

CryptographicException «набор ключей не существует», но только через WCF

у меня есть код, который вызывает стороннюю веб-службу, защищенную с помощью сертификации X. 509.

Если я вызываю код напрямую (используя модульный тест), он работает без каких-либо проблем.

при развертывании этот код будет вызываться через службу WCF. Я добавил второй модульный тест, который вызывает службу WCF, однако это не удается с CryptographicException, когда я вызываю метод веб-сервиса третьей стороны.

Я предполагаю, что это потому что моя служба WCF будет пытаться вызвать стороннюю веб-службу, используя другого пользователя для себя.

кто-нибудь может пролить дополнительный свет на этот вопрос?

15 ответов


вероятно, это будет проблема с разрешениями на сертификат.

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

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

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


Это скорее всего потому, что пользователь IIS не имеет доступа к закрытому ключу сертификата. Вы можете установить это, выполнив следующие действия…

  1. Пуск — > Выполнить — > MMC
  2. Файл — > Добавить / Удалить Snapin
  3. добавить привязку сертификатов в
  4. выберите учетную запись компьютера, затем нажмите кнопку Далее
  5. выберите локальный компьютер (по умолчанию), затем нажмите кнопку Готово
  6. на левой панели от корня консоли, перейдите к Сертификаты (Локальный Компьютер) — > Личный — > Сертификаты
  7. Ваш сертификат, скорее всего, будет здесь.
  8. щелкните правой кнопкой мыши на сертификате -> все задачи — > Управление закрытыми ключами
  9. установите настройки закрытого ключа здесь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Theme: Overlay by Kaira Extra Text
Cape Town, South Africa