Как настроить SSL-сертификаты с помощью Charles Web Proxy и последней версии эмулятора Android в Windows?
Автор вопроса: MartynОтветов: 8
Я хотел бы использовать веб-прокси Charles для работы с эмулятором Android в Windows. Я успешно настроил charles и запустил эмулятор из командной строки:
emulator -http-proxy 127.0.0.1:8888 @NexusOne
Я вижу трафик, исходящий от эмулятора Android в Charles, но проблема в том, что я работаю с живым API, который использует SSL, и я не уверен, как настроить Charles, чтобы я мог играть с отправляемыми данными и получила. Мне известны две области, в которых SSL настроен в Charles (Прокси -> Настройки прокси -> SSL и прокси -> Клиентские SSL-сертификаты), но я не могу найти достойной документации, которая позволила бы мне делать то, что я хочу делать. . Есть ли у кого-нибудь опыт работы с Чарльзом или сертификаты в целом, кто может объяснить, как этого добиться. Может быть, было бы неплохо получить основы сертификатов, поскольку мне, кажется, не хватает знаний о том, почему это так сложно.
Что такое команда эмулятора? Как ты это используешь? Jacek Kwiecień 07.02.2016
В Charles перейдите в Прокси >> Настройки прокси и выберите вкладку SSL. Добавьте свой хост в список локаций.
Например, если ваш защищенный вызов направляется на https://secure.example.com, вы можете ввести безопасный. example.com или * .example.com.
После того, как указанное выше будет выполнено, вам может потребоваться щелкнуть правой кнопкой мыши вызов в главном окне Charles и выбрать опцию SSL Proxying.
Надеюсь это поможет.
Ответ 2 · рейтинг 76 · brakertech
Для удаленного захвата трафика http или https с помощью charles вам необходимо сделать следующее:
ХОСТ - машина, на которой работает Charles и на которой размещается прокси. КЛИЕНТ - машина пользователя, генерирующая трафик, который вы собираете.
Прокси -> Настройки проксирования SSL -> нажмите кнопку Добавить и введите * в оба поля.
Прокси -> Настройки контроля доступа -> Добавьте свою локальную подсеть (например, 192.168.2.0/24), чтобы разрешить всем машинам в вашей локальной сети использовать прокси с другой машины.
Было бы целесообразно настроить "инструмент автосохранения" в таблицах, при этом журналы будут автоматически сохраняться и вращаться.
Откройте письмо на своем устройстве и выберите сертификат.
В поле "Назовите сертификат" введите все, что хотите.
Нажмите ОК, и вы должны получить сообщение о том, что сертификат был установлен.
После этого вы должны увидеть файлы SSL в Charles. Если вы хотите перехватить и изменить значения, вы можете использовать инструмент "Map Local", который действительно хорош:
В Charles перейдите в Инструменты> Местная карта
Выберите "Добавить запись".
Введите значения для файла, который хотите заменить
В "Локальном пути" выберите файл, который вы хотите, чтобы приложение загружало вместо него.
Нажмите ОК.
Убедитесь, что запись выбрана, и нажмите ОК.
Запустите ваше приложение
Вы должны увидеть в "Заметках", что ваш файл загружается вместо живого.
Ответ 4 · рейтинг 23 · apouche
Ситуация немного изменилась в том, как Чарльз обеспечивает проксирование HTTPS.
Сначала параметры установки сертификатов были перенесены в меню справки.
Help -> SSL Proxying -> Install Charles Root Certificate
Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators
Во-вторых, начиная с iOS 9, вы должны предоставить параметр NSAppTransportSecurity в своем Info.plist, и если вы хотите, чтобы Чарльз работал правильно как человек посередине, вы должны добавить:
Причина в том (я предполагаю), что Чарльз в какой-то момент общается по чистому http, действуя как человек на среднем сервере https.
Последний шаг - активировать SSL-проксирование для этого домена в Charles (щелкните правой кнопкой мыши домен и выберите "Включить SSL-проксирование").
Ответ 5 · рейтинг 7 · Vineet Bhatia
Вам также следует щелкнуть "Установить SSL-сертификаты Charles CA .." в меню "Справка Charles". См. Более подробные инструкции по адресу http://blog.noodlewerk.com/general/tutorial-using-charles-proxy-to-debug-https-communication-between-server-and-ios-apps/
Ответ 6 · рейтинг 7 · gini
Что сработало для меня - действительно стоит перенести на iPhone:
Чарльз
Включить прозрачное прокси Http
Включить SSL-проксирование
Щелкните правой кнопкой мыши входящий запрос и выберите SSL-проксирование.
Но если вам нужно индивидуально включать SSL-прокси для каждого нового URL-адреса, такого как я, то для включения для всех имен хостов просто введите * в список имен хостов и портов в настройках проксирования SSL следующим образом:
Ответ 8 · iPhoneDeveloper
Эти вещи мне помогли
Зайдите в прокси -> Настройки прокси SSL -> Добавить
Добавьте сюда название вашего сайта и укажите номер порта как 8888
Щелкните правой кнопкой мыши имя вашего сайта на левой панели и выберите "Включить SSL-проксирование"