Веб-исключение с веб-сервисом - PullRequest
2 голосов
/ 21 декабря 2010

Я разработал клиентское приложение для использования веб-службы,

в моем коде нет ошибок, однако при отладке я получаю следующее исключение,

'WebException не обрабатываетсяосновное соединение было закрыто: не удалось установить доверительные отношения для безопасного канала SSL / TLS. '

Я думаю, что это связано с тем фактом, что это безопасный веб-сервис, который я пытаюсь использовать, поэтому мой вопросБудет ли эта ошибка возникать из-за неправильной установки сертификата безопасности?И если да, то есть ли способ вручную установить сертификат в приложение?

Спасибо за ваше время.

Ответы [ 2 ]

1 голос
/ 21 декабря 2010

Я согласен с @ Klaus Byskov Hoffmann , но хотел бы добавить к этому свой ответ. Это также может произойти, если имя домена сервера, используемое для доступа к службе, не совпадает с назначенным ей сертификатом. Это создает недействительность сертификата, даже если оба имени относятся к машине.

1 голос
/ 21 декабря 2010

Это в основном проблема отсутствия доверия. Ssl-сертификат сервера должен быть доверенным потребляющим клиентом. Есть два способа исправить это:

  1. Купить сертификат SSL в доверенном центре сертификации (CA)

  2. Добавление SSL-сертификата сервера в хранилище сертификатов Trusted People пользователя, на котором запущено приложение (или компьютера, на котором должно выполняться приложение (LocalMacine / TrustedPeople))

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...