crackededed / Xtra

Xtra is a Twitch player and browser for Android.
GNU Affero General Public License v3.0
1.25k stars 48 forks source link

7tv emotes failed to load on android 6.0.1 device #547

Closed Rika-akira closed 2 months ago

Rika-akira commented 2 months ago

I tried dankchat, and it has the same problem too. Don't know if it is fixable.

Andmyaxe90 commented 2 months ago

I have the same issue on Android 7, I tried other apps with the same results. I opened an issue here a few weeks ago, but crackededed needed logs I don't know how to get. I also asked in the 7TV Discord with no luck. Could it be that all the 3rd party apps use an API that is outdated/disabled?

crackededed commented 2 months ago

7tv api works fine. it's just the cdn that doesn't work anymore. here's the error:

Root cause (1 of 1)
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
    at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:357)
    at okhttp3.internal.connection.ConnectPlan.connectTls(ConnectPlan.kt:346)
    at okhttp3.internal.connection.ConnectPlan.connectTlsEtc(ConnectPlan.kt:201)
    at okhttp3.internal.connection.FastFallbackExchangeFinder.find(FastFallbackExchangeFinder.kt:78)
    at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:275)
    at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
    at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:72)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
    at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:249)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:126)
    at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:203)
    at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:527)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
    at java.lang.Thread.run(Thread.java:818)
    Suppressed: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
        ... 20 more
    Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
        at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:337)
        at com.android.org.conscrypt.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:231)
        at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:115)
        at com.android.org.conscrypt.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:643)
        at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
        at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:353)
        ... 19 more
    Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
        ... 25 more
    Suppressed: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
        ... 20 more
    Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
        at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:337)
        at com.android.org.conscrypt.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:231)
        at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:115)
        at com.android.org.conscrypt.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:643)
        at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
        at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:353)
        ... 19 more
    Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
        ... 25 more
    Suppressed: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
        ... 20 more
    Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
        at com.android.org.conscrypt.T
crackededed commented 2 months ago

here's a temporary fix that worked for me on android 6. download ISRG Root X1 certificate and then in android settings go to Security and under Credential storage tap Install from device storage

crackededed commented 2 months ago

the certificate is now included in xtra so this should be fixed now. you can still use the above fix for other apps

Andmyaxe90 commented 2 months ago

Thanks for looking into this, I'll be waiting for F-Droid to update the repository.