Подтвердить что ты не робот

Ошибка подключения SSL для приложения iOS

Я делаю приложение для входа на сайт aspx через HTTPS путем передачи учетных данных входа в методе post. При проверке ответа с использованием Charles Proxy я вижу ошибку SSL Handshake, пропущенную из файла seal.verisign.com, после чего я возвращаюсь на страницу входа в систему. Я не уверен, что мне нужно сделать, чтобы решить эту проблему.

Я тестирую это в симуляторе iPhone.

У меня нет доступа к реализации сервера.

Любые идеи?

Спасибо!

4b9b3361

Ответ 1

На iOS> = 10.3 после установки сертификата Charles Proxy (в соответствии с отличным ответом @ashish-verma) его также необходимо включить через Настройки → Общие → О программе → Настройки доверия сертификатам:

Enable SSL root certificate on iOS 10.3 and up

Полная настройка здесь: http://www.devsbedevin.net/debugging-ios-ssl-traffic/

Ответ 2

Возможно, тестирование на самом устройстве даст больше понимания?

Для этого в Чарльзе:

  • Goto Proxy: настройки прокси-сервера...
  • Вкладка "Прокси": введите "8888" в порт HTTP-прокси:
  • Вкладка SSL: убедитесь, что включено "Включить SSL-проксирование".

На вашей машине dev:

  • Перейти к системным настройкам: Сеть: Wifi: Дополнительно: вкладка TCP/IP: обратите внимание на адрес IPV4: (т.е. 10.0.1.101)

На вашем iDevice:

  • Перейти к http://charlesproxy.com/charles.crt с вашего устройства и загрузить сертификат Charles SSL.
  • Хорошо, что сертификат как надежный (обязательно отключите или удалите его, как только вы закончите)
  • Откройте приложение "Настройки": Wifi: выберите кнопку подробного раскрытия (круглая синяя кнопка с белой стрелкой) для вашей сети.
  • В HTTP-прокси выберите "Вручную"
  • Введите адрес с шага (dev machine 1.) в поле Server и номер порта с шага (charles 2.)

Наконец:

  • Перезапустить Чарльз
  • Запустите Safari на вашем iDevice для тестирования. Это должно побудить Чарльза отобразить диалоговое окно, чтобы разрешить или запретить прокси SSL. Очевидно, разрешите, и вам должно быть хорошо идти.

Дополнительная информация на сайте Charles: http://www.charlesproxy.com/documentation/proxying/ssl-proxying/

Также вы получаете ответ на соединение: (NSURLConnection *) соединение didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *) метод вызова?

Ответ 3

Если установка сертификата по-прежнему вам не поможет, возможно, это связано с SSL-подключением.

От charlesproxy.com:

Сопоставление SSL Обратите внимание, что некоторые приложения реализуют привязку сертификата SSL, что означает, что они специально проверяют корневой сертификат. Поскольку приложение само проверяет корневой сертификат, он не примет сертификат Charles и не сможет подключиться. Если вы успешно установили SSL-сертификат Charles root и можете просматривать веб-сайты SSL с помощью SSL Proxying в Safari, но приложение выходит из строя, , то SSL-шифрование, вероятно, является проблемой.

Ответ 4

Для решения этой проблемы необходимо установить сертификат SSL.

Выполните следующие действия.

  • Откройте браузер Safari в iOS Симулятор

  • Введите "www.charlesproxy.com/getssl" в адресной строке

  • Установите сертификат SSL
  • Перезагрузка Прокси-сервер Charles

Ответ 5

Возможно, у сервера нет действительного сертификата для используемого вами URL-адреса. Вы проверили это?

Если вы попытаетесь использовать URL-адрес браузера, выдаст ли вам предупреждение?

Ответ 6

Вам необходимо установить SSL-сертификат на мобильное устройство.

Искать в Интернете, как установить сертификат SSL для Charles Proxy.

Ответ 7

Удалите все старые учетные данные пользователя, затем повторно установите новый сертификат ssl.