Как получить объект System.Web.HttpWebRequest для использования SSL 2.0? - PullRequest
8 голосов
/ 04 октября 2008

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

У меня есть локальная веб-страница (локальное значение 192.168. *), Которая защищена самозаверяющим сертификатом SSL. Я пытаюсь получить доступ к этой странице с помощью объекта System.Net.HttpWebRequest, но столкнулся со странной проблемой.

Если эта страница доступна в Internet Explorer с отключенной опцией «Использовать SSL 2.0», браузер возвращает сообщение об ошибке, как будто не может установить соединение. (Другими словами, ошибка соединения с браузером, а не ошибка, отправленная сервером.) Если опция «Использовать SSL 2.0» включена, страница работает нормально, и вы получаете стандартное предупреждение о том, что это самозаверяющий сертификат , хотите ли вы продолжить и т. д. (как ни странно, Firefox, на котором предположительно не включен SSL 2.0, работает просто отлично.)

Теперь моя проблема в том, что я пытаюсь получить доступ к этой странице с помощью объекта HttpWebRequest, и ошибка, которую он возвращает обратно, заключается в том, что соединение было неожиданно закрыто, точно так же, как ошибка, которую IE выдает, когда «Использовать SSL 2.0» отключено. , (У меня уже есть код, чтобы игнорировать тот факт, что это самозаверяющий сертификат, но он даже не зашел так далеко.)

Как мне получить System.Net.HttpWebRequest для «Использовать SSL 2.0», когда он делает свой запрос?

1 Ответ

16 голосов
/ 04 октября 2008

Я сам столкнулся с этой проблемой при работе с Ssl3, хотя я не уверен, что тот же совет будет работать для SSL2?

Чтобы обойти эту проблему, я установил флаг Ssl3 в протоколе безопасности следующим образом:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

Проверьте эти ссылки для более подробной информации:

system.net.servicepointmanager.securityprotocol на MSDN

перечисление протокола безопасности на MSDN

Они могут указать вам правильное направление, если вам повезет:)

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