Мобильное приложение CodenameOne выдает исключение SSL при подключении к серверу https с реальными сертификатами (не подписанными самостоятельно) - PullRequest
1 голос
/ 15 мая 2019

У меня есть среда Amazon AWS, в которой запущено приложение сервера весенней загрузки с конечными точками https.(https://www.myapp.com:8443) На сервере установлен настоящий (не самоподписанный) сертификат для www.myapp.com.

При подключении из приложения для Android на реальном устройстве (устанавливается через электронную почту OTA)) Я вижу исключение:

Exception: javax.net.ssl.SSLHandshakeException - 
java.security.cert.CertPathValidatorException: Trust anchor for 
certification path not found.
javax.net.ssl.SSLHandshakeException: 
java.security.cert.CertPathValidatorException: Trust anchor for 
certification path not found.

В симуляторе я добавил свой сертификат реального сайта в мой файл java cacerts IntelliJ, и он работает нормально. В симуляторе все мои вызовы https в окно AWS работают нормально.

При создании приложения для Android я добавил настоящий сертификат в хранилище ключей и указал, что хранилище ключей через настройки CN1 для настроек Android. Это было сделано нормально, но при запуске на реальном устройстве сгенерировало указанное выше исключение.

Использование самозаверяющего сертификата через CN1 и развертывание на реальном устройстве также не удалось аналогичным образом.

Что мне здесь не хватает?

1 Ответ

1 голос
/ 15 мая 2019

Хранилище ключей в сборках Android используется для подписи, поэтому добавление в него сертификатов не имеет значения, так как после подписания APK ничего не изменится. Если сертификат недоступен для Android или Apple, тогда это не лучший сертификат для использования. Если вы откроете собственный браузер на Android и сайт загрузится правильно, он также должен работать с приложением.

...