Мы используем цепной сертификат на нашем сервере, но когда мы пытаемся установить соединение с приложением Android, используя Retrofit или HttpsURLConnection, он всегда завершается ошибкой с «javax.net.ssl.SSLHandshakeException: доверенная привязка для пути сертификации не найдена ».
Стандартный браузер Android, а также рабочий стол сайта или приложение iOS работают без проблем, поэтому мы предполагаем, что SSL на сервере настроен правильно.
Наш сервер (nginx) настроен на возврат только (.crt) сертификата, когда мы изменяем его настройки, чтобы вернуть сертификат с полной цепью (fullchain.pem), наше приложение начинает работать, но это не так, как мы этого хотим работать.
Что мы делаем не так?
Спасибо за любую помощь.
PS: мы не хотим отключать проверку цепочки сертификатов SSL
com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:361)
com.android.okhttp.Connection.connectTls(Connection.java:235)
com.android.okhttp.Connection.connectSocket(Connection.java:199)
com.android.okhttp.Connection.connect(Connection.java:172)
com.android.okhttp.Connection.connectAndSetOwner(Connection.java:367)
com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:130)
com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)
com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:247)
com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:457)
com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:126)
com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java)
com.android.tools.profiler.support.network.httpurl.TrackedHttpURLConnection.connect(TrackedHttpURLConnection.java:154)
com.android.tools.profiler.support.network.httpurl.TrackedHttpURLConnection.tryConnect(TrackedHttpURLConnection.java:8
com.android.tools.profiler.support.network.httpurl.TrackedHttpURLConnection.trackResponse(TrackedHttpURLConnection.jav
com.android.tools.profiler.support.network.httpurl.TrackedHttpURLConnection.tryTrackResponse(TrackedHttpURLConnection.
com.android.tools.profiler.support.network.httpurl.TrackedHttpURLConnection.getResponseCode(TrackedHttpURLConnection.j
com.android.tools.profiler.support.network.httpurl.HttpsURLConnection$.getResponseCode(HttpsURLConnection$.java:146)