Иногда почтовый запрос терпит неудачу `SSLHandshakeException: Handshake fail` - PullRequest
0 голосов
/ 29 июня 2019

Я получаю сообщение об ошибке на последней версии Android 9.0

Ошибка выдается из google lib при запуске Handshake

Код, который я использую для отправки запроса:

localHttpsURLConnection = (HttpsURLConnection) new URL(url).openConnection();
                        localHttpsURLConnection.setReadTimeout(15000);
                        localHttpsURLConnection.setConnectTimeout(15000);
                        localHttpsURLConnection.setRequestMethod("POST");
                        localHttpsURLConnection.setDoInput(true);
                        localHttpsURLConnection.setDoOutput(true);
                        localHttpsURLConnection.setUseCaches(false);
                        localHttpsURLConnection.setRequestProperty("Content-Type", "application/json");
                        localHttpsURLConnection.setRequestProperty("charset", "utf-8");
                        String str2 = getMeta();
                        localHttpsURLConnection.setRequestProperty("meta" + str2, str2);
                        localHttpsURLConnection.connect();

Иногда это работает нормально, но иногда выдает ошибку с помощью tracetrace следующим образом:

javax.net.ssl.SSLHandshakeException: Handshake failed
at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(:com.google.android.gms@17785037@17.7.85 (100400-253824076):35)
at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:1480)
at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:1424)
at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:1368)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:219)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:142)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:104)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:392)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:325)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:470)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:26)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)

Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x79f165f848: Failure in SSL library, usually a protocol error
error:10000092:SSL routines:OPENSSL_internal:ENCRYPTED_LENGTH_TOO_LONG (third_party/openssl/boringssl/src/ssl/tls_record.cc:249 0x79d0ae8b9f:0x00000000)
at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
at com.google.android.gms.org.conscrypt.NativeSsl.doHandshake(:com.google.android.gms@17785037@17.7.85 (100400-253824076):7)
at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(:com.google.android.gms@17785037@17.7.85 (100400-253824076):14)

Это в основном подчеркивает точку

Причина: javax.net.ssl.SSLProtocolException: сбой рукопожатия SSL: ssl = 0x79f165f848: сбой в библиотеке SSL, обычно ошибка протокола ошибка: 10000092: подпрограммы SSL: OPENSSL_internal: ENCRYPTED_LENGTH_TOO_LONG

...