Сбой вызова PhoneGap Ajax на сервер HTTPS с самозаверяющим сертификатом - PullRequest
9 голосов
/ 23 января 2012

Я относительно новичок в phonegap, и недавно я настроил HTTPS / SSL на своем сервере Windows Apache с самозаверяющим сертификатом и пытаюсь сделать HTTPS-запрос ajax-сообщения.Запрос работает нормально, когда запускается в браузере, но не выполняется при запуске внутри телефонной пробелы.Я попытался установить Android: отладка на ложь, но это не решило проблему.Я также провел некоторое исследование, и кажется, что phonegap поддерживает HTTPS-запросы ajax, поэтому я не понимаю, почему запрос не выполняется.

Кто-нибудь знает, почему это может быть?

Ответы [ 2 ]

8 голосов
/ 23 января 2012

Это цитата Джо Боузера, который написал код, разрешающий самоподписанные сертификаты на PhoneGap Android:

  1. Если вы занимаетесь разработкой: android: debuggable = "true" вманифест, вы должны разрешить браузеру запрашивать данные с серверов с самозаверяющим или недействительным сертификатом SSL
  2. Если вы выпускаете приложение, вы должны удалить android: debuggable = "true" (Android Market выиграл 'в любом случае, вы не сможете отпустить это), и вы НЕ сможете отправлять данные на сервер с неверным сертификатом SSL
  3. Если этот флаг не установлен, по умолчанию будет установлено значение по умолчанию.Теперь, что вы не сможете отправлять данные на серверы с самозаверяющим сертификатом

Так что, похоже, вы сможете делать то, что вы хотите, установив Android: = отладка "истинная".Если это не работает для вас, нам нужно получить сценарий воспроизведения от вас, версию PhoneGap и версию Android, которую вы используете.

Вероятно, лучше всего поднять ошибку в Jira для нас:

https://issues.apache.org/jira/browse/CB#selectedTab=com.atlassian.jira.plugin.system.project%3Aissues-panel

1 голос
/ 18 ноября 2013

Я потратил часы на эту проблему, пока не обнаружил, что возможно быстрое и грязное исправление . Это включает переопределение CordovaWebViewClient, чтобы игнорировать ошибки сертификата.

...