Приложение Nativescript не работает на Android API 17

У меня возникла проблема, когда я тестирую свое приложение NativeScript на Android API 17. Установка работает нормально, но когда я пытаюсь войти в систему с помощью HTTP-запроса к моему внутреннему серверу HTTPS, запрос немедленно останавливается.

Это происходит только в API 17, а не в более высоком API.

Ошибка: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: якорь доверия для пути сертификации не найден.

http.request({
    url: config.baseUrl + "login",
    method: "POST",
    headers: {"Content-Type": "application/x-www-form-urlencoded"},
    content: "grant_type=password&username=" + this.username + "&password=" + this.password
});

person R Pelzer    schedule 09.08.2016    source источник
comment
если это https , разве вы не должны запрашивать https?   -  person Antonios Tsimourtos    schedule 09.08.2016
comment
Возможный дубликат Trust Anchor не найден для SSL-соединения Android   -  person Luca Ziegler    schedule 09.08.2016
comment
последний комментарий по ссылке выше: stackoverflow.com/a/16302527/4936697   -  person Nick Iliev    schedule 09.08.2016


Ответы (1)


У меня была такая же проблема с действительным (не самоподписанным) сертификатом. Оказалось, что CA не был установлен на эмуляторе Android (Nexus 6 - API 21).

Я экспортировал сертификат CA из своего браузера и импортировал его в эмулятор.

Для этого вам необходимо включить SDCard. Затем скопируйте сертификат (я сделал это с помощью команды «avd push»). Затем импортируйте его из Настройки->Безопасность->Установить с SD-карты. Те же шаги должны работать для самоподписанных сертификатов.

person Emil Alkalay    schedule 10.09.2016