Вызов веб-сервиса с сертификатом

Я пытаюсь подключиться к веб-службе из .NET. Я ссылаюсь на службу в моей библиотеке классов.

Я пытался импортировать сертификат (который является .p12) в следующие места.

  • Локальный компьютер\персональный\сертификаты
  • Локальный компьютер\Доверенные корневые сертификаты\Сертификаты
  • Текущий Пользователь\Персонал\Сертификаты
  • Текущий пользователь\Доверенные корневые сертификаты\Сертификаты

В моем Web.config у меня есть следующее для установки сертификата, но я продолжаю получать исключение от веб-службы, в котором говорится, что сертификат отсутствует.

<clientCredentials>
    <clientCertificate findValue="[email protected]" storeName="My" storeLocation="LocalMachine" x509FindType="FindByIssuerName"/>
</clientCredentials>

Если требуется больше кода, пожалуйста, дайте мне знать.

Спасибо


person Matt Millican    schedule 20.02.2012    source источник


Ответы (1)


Я думаю, проблема может заключаться в том, что пользователь, под которым работает IIS, не имеет разрешений на закрытый ключ в вашем хранилище ключей. Когда у меня была эта проблема в прошлом, я получил загадочное исключение «не найдено», хотя на самом деле это было «отказано в доступе».

Существует инструмент, который вы можете использовать, чтобы предоставить пользователю разрешение на доступ к вашему хранилищу ключей. Вы можете получить этот инструмент и прочитать о нем здесь: http://msdn.microsoft.com/en-us/library/windows/desktop/aa384088(v=vs.85).aspx

person Tetious    schedule 20.02.2012
comment
Я действительно использовал это. Я пытаюсь сделать это на своей локальной машине разработки прямо сейчас, используя IIS Express, но мне также нужно будет перейти на производственный веб-сервер. - person Matt Millican; 20.02.2012
comment
@mmillican - есть прогресс в этом? любые намеки или подтверждения, чтобы добавить? пытаюсь понять это сам, но у меня нет ресурсов для разработки, кроме PowerShell в рабочей среде, а в среде разработки нет сертификатов, настроенных для веб-службы прямо сейчас - пытаюсь выяснить, как лучше всего подтвердить, что я могу это сделать, а затем продолжить - person Code Jockey; 19.11.2015