| Daniel Passos Summers Pittman 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 |