Support Topics Documentation Slack YouTube Blog

Domain specific configurations require that hostname aware checkServerTrusted


(Samuel Castro) #1

Hi there,

I hope you could help me with this problem:

I’m getting this trace as Backendless fault message when I try to save an object, it’s important to say that I’m using emulator with google play(Nexus 5) from AVD in Android Studio. I’ve been working with this emulator and Genymotion before and I didn’t get that error and I could save objects without problem. So my question is: Is there any new change in the configuration for certificates to use with backendless?

    BackendlessFault{ code: 'Internal client exception', message: 'Domain specific configurations require that hostname aware checkServerTrusted(X509Certificate[], String, String) is used', detail: 'javax.net.ssl.SSLHandshakeException: Domain specific configurations require that hostname aware checkServerTrusted(X509Certificate[], String, String) is used
	at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:229)
	at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:192)
	at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:149)
	at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
	at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
	at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
	at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
	at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
	at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
	at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:258)
	at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:218)
	at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:26)
	at weborb.client.ioEngine.HttpIOEngine.send(HttpIOEngine.java:195)
	at weborb.client.ioEngine.HttpIOEngine.invoke(HttpIOEngine.java:140)
	at weborb.client.WeborbClient.invoke(WeborbClient.java:138)
	at com.backendless.Invoker.invokeSync(Invoker.java:95)
	at com.backendless.Invoker$1.run(Invoker.java:71)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:764)
Caused by: java.security.cert.CertificateException: Domain specific configurations require that hostname aware checkServerTrusted(X509Certificate[], String, String) is used
	at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:111)
	at weborb.client.ioEngine.EasyX509TrustManager.checkServerTrusted(EasyX509TrustManager.java:73)
	at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:212)
	at com.android.org.conscrypt.ConscryptFileDescriptorSocket.verifyCertificateChain(ConscryptFileDescriptorSocket.java:404)
	at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
	at com.android.org.conscrypt.NativeSsl.doHandshake(NativeSsl.java:375)
	at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:224)
	... 21 more
', extendedData: '{}' }

Thanks in advance for your support.


(Mark Piller) #2

Hi Samuel,

To be honest, I do not quite understand what the error means. You can check the validity of our certificate here (and other sites which do a SSL cert checks):
https://www.sslshopper.com/ssl-checker.html#hostname=api.backendless.com

Regards,
Mark