Я сделал приложение для компании и поддерживал уровень API 13+ (3.0+). Он собирает данные с их CMS через XML и отображает их в приложении. Это делается через HTTPS, который отлично работал, пока не обновил свой сервер до TLS 1.2. Теперь версии для Android ниже уровня API 20 не будут извлекать XML из-за SSLPeerUnverifiedException
, и многие телефоны больше не смогут видеть это приложение.Android <= 4.4.2 и TLS 1.2
Есть ли способ пройти SSLPeerUnverified
, оставив TLS 1.2 включенным?
Примечание: Действующие сертификаты SSL следующим образом:
AddTrust External CA Root
--> COMODO High-Assurance Secure Server CA
--> *.appdomain.com
Наиболее полезный СФБ статью до сих пор: Implementing TLS 1.2 on Android 2.3.3
не уверен, но -> TLSv1.2 не поддерживается API 16+ - https://developer.android.com/reference/javax/net/ssl/SSLSocket.html - значит, должно быть решение проблемы - на самом деле оно включено по умолчанию в гнездо сервера для api 16+, но не включено клиент – Tasos
@Tasos Вы правы. В настоящее время я использую 'HttpClient' и пытаюсь установить его' SocketFactory' в пользовательский класс, который позволяет * TLS 1.2 * по умолчанию. Это еще не сработало, но это начало. – Jacksonkr