-
Task
-
Resolution: Done
-
Major
-
None
-
None
-
Service Team 1 - Sprint 10
danielpassos supittma@redhat.com
The Andorid Showcase App is hanging on the Identity Management -> Authenticate Screen with a dialog displaying the "Checking For Secure Channel..." message (https://github.com/aerogear/android-showcase-template/blob/master/app/src/main/java/com/aerogear/androidshowcase/features/authentication/AuthenticationFragment.java#L168).
I do not currently have the self signed cert installed (having other problems with it...) and do see an expcetion / stack trace in logcat (included below), but I thought we were catching this and displaying an appropriate message?
Am I missing something here?
Stack Trace:
07-03 01:05:24.183 15105-15145/com.aerogear.androidshowcase E/JWKSMANAGER: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
at org.aerogear.mobile.core.http.OkHttpResponse.<init>(OkHttpResponse.java:39)
at org.aerogear.mobile.core.http.OkHttpRequest.lambda$get$0$OkHttpRequest(OkHttpRequest.java:49)
at org.aerogear.mobile.core.http.OkHttpRequest$$Lambda$0.call(Unknown Source:6)
at org.aerogear.mobile.core.reactive.CallableRequest.respondWithActual(CallableRequest.java:73)
at org.aerogear.mobile.core.reactive.RequestOnRequest.lambda$respondWithActual$0$RequestOnRequest(RequestOnRequest.java:24)
at org.aerogear.mobile.core.reactive.RequestOnRequest$$Lambda$0.call(Unknown Source:4)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:355)
at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:299)
at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:268)
at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:160)
at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:256)
at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:134)
at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:113)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:125)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
at okhttp3.RealCall.execute(RealCall.java:77)
at org.aerogear.mobile.core.http.OkHttpResponse.<init>(OkHttpResponse.java:31)
at org.aerogear.mobile.core.http.OkHttpRequest.lambda$get$0$OkHttpRequest(OkHttpRequest.java:49)
at org.aerogear.mobile.core.http.OkHttpRequest$$Lambda$0.call(Unknown Source:6)
at org.aerogear.mobile.core.reactive.CallableRequest.respondWithActual(CallableRequest.java:73)
at org.aerogear.mobile.core.reactive.RequestOnRequest.lambda$respondWithActual$0$RequestOnRequest(RequestOnRequest.java:24)
at org.aerogear.mobile.core.reactive.RequestOnRequest$$Lambda$0.call(Unknown Source:4)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
at com.android.org.conscrypt.TrustManagerImpl.verifyChain(TrustManagerImpl.java:659)
at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:537)
at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:603)
at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:493)
at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:416)
at com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:337)
at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94)
at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:88)
07-03 01:05:24.184 15105-15145/com.aerogear.androidshowcase E/JWKSMANAGER: at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:203)
at com.android.org.conscrypt.OpenSSLSocketImpl.verifyCertificateChain(OpenSSLSocketImpl.java:592)
at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:351)
... 29 more
Caused by: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
... 41 more