it-roy-ru.com

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

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

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

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

Есть идеи?

Спасибо!

25
JLau_cy

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

 Enable SSL root certificate on iOS 10.3 and up

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

107
Vaiden

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

Чтобы сделать это в Чарльзе:

  1. Перейти к прокси: Настройки прокси ...
  2. Вкладка Proxies: введите «8888» в поле HTTP-прокси: поле
  3. Вкладка SSL: убедитесь, что «Включить SSL-прокси» включен

На вашем компьютере разработчика:

  1. Перейти к Системные настройки: Сеть: Wi-Fi: Дополнительно: Вкладка TCP/IP: Запишите адрес IPV4: (т. Е. 10.0.1.101)

На вашем iDevice:

  1. Перейдите http://charlesproxy.com/charles.crt со своего устройства и загрузите сертификат Charles SSL
  2. Хорошо, сертификат как доверенный (обязательно отключите или удалите его, как только вы закончите)
  3. Перейти к настройкам приложения: Wi-Fi: выберите кнопку подробного раскрытия (круглая синяя кнопка с белой стрелкой) для вашей сети
  4. Под HTTP Proxy выберите «Вручную»
  5. Введите адрес с шага (dev machine 1.) в поле Сервер и номер порта с шага (charles 2.) 

В заключение:

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

Больше информации на сайте Чарльза: http://www.charlesproxy.com/documentation/proxying/ssl-proxying/

Кроме того, вы получаете ответ на вызов метода подключения (NSURLConnection *) didReceiveAuthenticationChallenge: (NSURLAuthenticationChallenge *)?

13
Jalakoo

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

От charlesproxy.com:

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

9
Ben Thomas

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

Следуй этим шагам 

  1. Открыть Safari Браузер на iOS Симулятор

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

  3. УстановитеSSLсертификат
  4. Перезагрузка Чарльз Прокси  
3
Ashish Verma

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

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

1
gWiz

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

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

0
Rotues Jia

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

0
anton46