Search code examples
androidcertificatemessagequickblox

Quickblox does not work on API 11 - javax.net.ssl.SSLPeerUnverifiedException: No peer certificate


I am trying to use QuickBlox for Android. My App connects and works well using push notifications on different android models using API 17. On devices with API 11, I get the following error :

W/System.err﹕ javax.net.ssl.SSLPeerUnverifiedException: No peer certificate W/System.err﹕ at org.apache.harmony.xnet.provider.jsse.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:265) W/System.err﹕ at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:93) W/System.err﹕ at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388) W/System.err﹕ at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:164) W/System.err﹕ at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) W/System.err﹕ at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) W/System.err﹕ at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:359) W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) W/System.err﹕ at com.quickblox.internal.core.server.HttpExecutor.execute(HttpExecutor.java:21) W/System.err﹕ at com.quickblox.internal.core.server.HttpRequestRunnable.run(HttpRequestRunnable.java:50) W/System.err﹕ at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:444) W/System.err﹕ at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:138) W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) W/System.err﹕ at java.lang.Thread.run(Thread.java:1019)

This has been driving me nuts for days.. Can someone please help?

(I am using quickblox sdk V1.2.3 and V1.2.4. Both give the same results)


Solution

  • Use this call before create the QuickBlox Session

    QBSettings.getInstance().setTransferProtocol(TransferProtocol.HTTP);
    

    Also I prefer to migrate to QuickBlox Android SDK 2