apps-android-commons: Unable to login

Summary:

I am unable to login through the app, can login through a browser. Error message says Chain validation failed

Steps to reproduce:

How can we reproduce the issue? What did you expect the app to do, and what did you see instead?

I ran the project on Android Studio. Then I opened the app and created an account, verified my email and tried to login, which failed.

System logs:

2020-01-11 14:24:27.816 8174-8174/fr.free.nrw.commons.beta D/LoginActivity: Login to start!
2020-01-11 14:24:27.918 8174-8320/fr.free.nrw.commons.beta D/OkHttp: --> GET https://commons.wikimedia.beta.wmflabs.org/w/api.php?format=json&formatversion=2&errorformat=plaintext&action=query&meta=tokens&type=login
2020-01-11 14:24:27.925 8174-8320/fr.free.nrw.commons.beta D/CookieManager: Domain:commons.wikimedia.beta.wmflabs.org
2020-01-11 14:24:28.841 8174-8320/fr.free.nrw.commons.beta D/OkHttp: <-- HTTP FAILED: javax.net.ssl.SSLHandshakeException: Chain validation failed
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity: javax.net.ssl.SSLHandshakeException: Chain validation failed
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:229)
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:351)
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:310)
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:178)
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:236)
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:109)
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:77)
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.connection.Transmitter.newExchange$okhttp(Transmitter.kt:162)
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:35)
2020-01-11 14:24:28.850 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:82)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:84)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:71)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at fr.free.nrw.commons.OkHttpConnectionFactory$CommonHeaderRequestInterceptor.intercept(OkHttpConnectionFactory.java:56)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at fr.free.nrw.commons.OkHttpConnectionFactory$UnsuccessfulResponseInterceptor.intercept(OkHttpConnectionFactory.java:62)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.kt:215)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:112)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:87)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.kt:184)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at okhttp3.RealCall$AsyncCall.run(RealCall.kt:136)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at java.lang.Thread.run(Thread.java:764)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity: Caused by: java.security.cert.CertificateException: Chain validation failed
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.TrustManagerImpl.verifyChain(TrustManagerImpl.java:707)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:539)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:560)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:605)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:495)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:418)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:339)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:88)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:208)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.ConscryptFileDescriptorSocket.verifyCertificateChain(ConscryptFileDescriptorSocket.java:404)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.NativeSsl.doHandshake(NativeSsl.java:375)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:224)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity: 	... 32 more
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity: Caused by: java.security.cert.CertPathValidatorException: Response is unreliable: its validity interval is out-of-date
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:135)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:222)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at java.security.cert.CertPathValidator.validate(CertPathValidator.java:301)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at com.android.org.conscrypt.TrustManagerImpl.verifyChain(TrustManagerImpl.java:703)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity: 	... 45 more
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity: Caused by: java.security.cert.CertPathValidatorException: Response is unreliable: its validity interval is out-of-date
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.OCSPResponse.verify(OCSPResponse.java:619)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.RevocationChecker.checkOCSP(RevocationChecker.java:709)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.RevocationChecker.check(RevocationChecker.java:363)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.RevocationChecker.check(RevocationChecker.java:337)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:125)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity: 	... 50 more
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity: 	Suppressed: java.security.cert.CertPathValidatorException: Could not determine revocation status
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.RevocationChecker.buildToNewKey(RevocationChecker.java:1092)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.RevocationChecker.verifyWithSeparateSigningKey(RevocationChecker.java:910)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.RevocationChecker.checkCRLs(RevocationChecker.java:577)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.RevocationChecker.checkCRLs(RevocationChecker.java:465)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity:     at sun.security.provider.certpath.RevocationChecker.check(RevocationChecker.java:394)
2020-01-11 14:24:28.851 8174-8174/fr.free.nrw.commons.beta E/LoginActivity: 		... 52 more

Device and Android version:

Redmi Note 5 Pro MIUI version 11 Android 9

Screen-shots:

image

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 21 (11 by maintainers)

Commits related to this issue

Most upvoted comments

Sure @misaochan I will look into it . 😃

The beta version of the app requires you to login using a beta instance account and the prod version of the app requires you to login using a production instance account. Make sure you login using the proper accounts in the proper versions of the app.

@sivaraam That makes sense. I opened both the beta and production instance on the web and realised that my account was not “deleted” but I had ended up creating two different accounts–one for each instance.

However, the problem persists. I can login to the beta version on the web, but using the same credentials I can’t login to the beta Commons app. I still get the Chain validation failed error on mobile.

Sure @maskaravivek , I guess my PR solves both of them

How can a username not be registered but still be in use?

This is because the username is registered with some other wiki (in this case en.wikipedia) and since the introduction of Unified login creating an account in one wiki with a username means the username is also reserved in other wikis. If you had keenly noticed, the error message you got when trying to reset the password clearly stated this “The username Anmol is not registered on this wiki, but you can reset its password on a wiki where it is.” (emphasis mine).