Отладка HTTPS-трафика с помощью Fiddler на эмуляторе Windows Phone

Я подписался на Совет Эрика, и он работает нормально, за исключением того, что запросы, использующие https через HttpWebRequest, не могут подключиться. В Fiddler я вижу запрос Connect, который, кажется, возвращается нормально, а затем мой HttpWebRequest получает результат с ArgumentNullException.

Вот стек вызовов исключения:

   at System.IO.StringReader..ctor(String s)
   at System.Net.Browser.HttpWebRequestHelper.ParseHeaders(Uri requestUri, SecurityCriticalDataForMultipleGetAndSet`1 headers, WebHeaderCollection collection, Boolean removeHttpOnlyCookies, HttpStatusCode& status, String& statusDescription)
   at System.Net.Browser.ClientHttpWebResponse..ctor(String method, Uri url, HttpStatusCode status, String mime, SecurityCriticalDataForMultipleGetAndSet`1 headersString, Stream stream, Int32 expectedLen, CookieContainer cookieContainer)
   at System.Net.Browser.ClientHttpWebResponse..ctor(String method, Uri url, HttpStatusCode status, String mime, SecurityCriticalDataForMultipleGetAndSet`1 headersString, Stream stream, CookieContainer cookieContainer)
   at System.Net.Browser.ClientHttpWebRequest.Failed(Object sender, EventArgs e)
   at MS.Internal.InternalWebRequest.OnDownloadFailed(Object sender, ErrorEventArgs args)
   at System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
   at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)

Браузер работает нормально, я думаю, это какая-то проблема между .Net на телефоне и прокси-сервером Fiddler. Кстати, то же самое происходит на реальном телефоне и даже на iPad (что означает, что это не проблема .Net).

Можно ли это исправить?

РЕДАКТИРОВАТЬ: я, вероятно, против некоторых ограничений безопасности, которые я не понимаю. Я попробовал https://wellsfargo.com и https://mail.google.com, и оба возвращают исключение "Не найдено" при использовании Fiddler.


person Sergey Aldoukhov    schedule 08.06.2011    source источник
comment
Я не пробовал HTTPS-кодирование с WP7, но может ли это быть проблемой с сертификатом? msdn.microsoft.com/en-us/ библиотека/gg521150%28v=VS.92%29.aspx   -  person keyboardP    schedule 09.06.2011
comment
Может быть, но в WP7 нет ServicePointManager, чтобы пропустить ошибки сертификата...   -  person Sergey Aldoukhov    schedule 09.06.2011
comment
эээ... какой аргумент в данном случае нулевой? И как именно вы нажимаете это на IPAD?   -  person EricLaw    schedule 09.06.2011
comment
Я не могу сказать, какой аргумент имеет значение null - ответ содержит исключение, и одно из свойств (имеющее строковый тип) в исключении - это этот стек.   -  person Sergey Aldoukhov    schedule 09.06.2011
comment
На iPad у нас такое же приложение, написанное на obj-c. На iPad мы назначили прокси-сервер для прокси-сервера Fiddler, и хотя трафик браузера, включая HTTPS, не вызывает проблем, приложение не получает ответа при попытке доступа к URL-адресу аутентификации. Может быть, это связано с определенным бэкэндом - надо попробовать другой HTTPS...   -  person Sergey Aldoukhov    schedule 09.06.2011
comment
Если вы включили расшифровку HTTPS на устройстве iOS, вам потребуется другой генератор сертификатов (http://www.fiddler2.com/fiddler/help/httpsdecryption.asp#ios), но это не требуется для WP7.   -  person EricLaw    schedule 17.06.2011


Ответы (1)


Вы должны установить корневой сертификат Fiddler в эмулятор. Откройте Mobile IE и перейдите по адресу: http://computername:8888/fiddlerroot.cer. При появлении запроса установите сертификат. После того, как вы закончите, HTTPS-трафик будет без проблем туннелироваться через fiddler.

person Jonas Stawski    schedule 23.12.2011
comment
Проблема также может заключаться в устаревшем наборе сертификатов Fiddler на вашем локальном компьютере — удалите и повторно добавьте их в настройках HTTPS Fiddler. - person Sergey Aldoukhov; 05.09.2012
comment
Фантастический! Сайт скрипача создавал впечатление, что это невозможно! - person Greg Woods; 27.02.2013