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

Моя компания разработала веб-службу .NET и клиентскую dll, которая использует эту веб-службу. Веб-сервис размещается на нашем сервере по SSL, а сертификат предоставляется и подписывается GoDaddy. У нас есть некоторые клиенты в размещенной среде, которые получают следующее сообщение об ошибке от клиентской dll, когда она пытается получить доступ к нашей веб-службе.

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

Нашим решением было открыть IE на сервере, что само по себе является проблемой для многих размещенных services и перейдите по URL-адресу WSDL. IE затем предлагает им диалоговое окно с предупреждением безопасности. В нем говорится, что дата сертификата действительна и действительное имя соответствует имени страницы, но было выдано компанией, которой вы не доверяли. Когда они нажимают «Да», чтобы продолжить, клиентская dll может успешно подключиться к веб-службе и работать в обычном режиме.

Кто-нибудь знает, почему GoDaddy не попал в список действующих издателей? Все наши серверы имеют GoDaddy в качестве действительного органа. Полагаю, из соображений безопасности они удалили полномочия для GoDaddy, но не совсем уверен, что нет какой-то другой основной проблемы.

К сожалению, мне не повезло, пытаясь воссоздать это локально. Если я захожу в Свойства обозревателя, удаляю полномочия GoDaddy и нажимаю на наш сервис, ssl работает нормально. Я возвращаюсь к списку издателей, и GoDaddy снова включается. Итак, мой второй вопрос: как, черт возьми, избавиться от GoDaddy, чтобы я мог получить предупреждение о недействительном сертификате?

Хорошо, последний вопрос. Есть ли способ в коде, которым я могу сказать веб-службе игнорировать недействительные сертификаты. Я видел несколько сообщений о том, как делать это программно с помощью WCF, но не старых веб-служб.

5
задан Joshua Belden 20 December 2010 в 18:41
поделиться