I am experiencing failures connecting securely to my own server which are 
probably as a result of the Android 6.0 changes. 

10-21 21:27:10.018 1267-1530/... E/ServerService: Handshake failed
10-21 21:27:10.018 1267-1530/... E/ServerService: 
javax.net.ssl.SSLHandshakeException: Handshake failed
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:396)
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
com.android.org.conscrypt.OpenSSLSocketImpl.waitForHandshake(OpenSSLSocketImpl.java:629)
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
com.android.org.conscrypt.OpenSSLSocketImpl.getOutputStream(OpenSSLSocketImpl.java:615)
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
com.crittermap.iab.serverinterface.ServerService.onHandleIntent(ServerService.java:98)
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
android.os.Handler.dispatchMessage(Handler.java:102)
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
android.os.Looper.loop(Looper.java:148)
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
android.os.HandlerThread.run(HandlerThread.java:61)
10-21 21:27:10.018 1267-1530/... E/ServerService:  Caused by: 
javax.net.ssl.SSLProtocolException: SSL handshake aborted: 
ssl=0x557ba6f360: Failure in SSL library, usually a protocol error
10-21 21:27:10.018 1267-1530/... E/ServerService: error:100c1069:SSL 
routines:ssl3_get_server_key_exchange:BAD_DH_P_LENGTH 
(external/boringssl/src/ssl/s3_clnt.c:1193 0x7fa874c518:0x00000000)
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
10-21 21:27:10.018 1267-1530/... E/ServerService:     at 
com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:324)
10-21 21:27:10.018 1267-1530/... E/ServerService:         ... 7 more


However, nowhere that I can find are there instructions of *what to do* so 
your code will work with Android 6.0. That should be common courtesy when 
Android makes a breaking change. 

it does say:

Android is moving away from OpenSSL to the BoringSSL 
<https://boringssl.googlesource.com/boringssl/> library

It also gives advice for what to link when you are using the NDK. 
I am not using the NDK. What should java people do?
I don't see anywhere in my code that I am referring to either BoringSSL or 
OpenSSL. Yet the stack trace above mentions both and there could be some 
sort of mismatch. 

Below is some of the code. While I am not the original author, this worked 
(and still does ) up to Android 5.x.

I could not see any calls here that are deprecated. 


           KeyStore trustStore = KeyStore.getInstance("BKS");
          TrustManagerFactory trustManagerFactory = 
TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
         InputStream trustStoreStream = 
context.getResources().openRawResource(R.raw.iabtruststore);
         trustStore.load(trustStoreStream, "IABTrust$tore0424".toCharArray());
         trustManagerFactory.init(trustStore);


         // Setup the SSL context to use the truststore
         ssl_ctx = SSLContext.getInstance("TLS");
ssl_ctx.init(null, trustManagerFactory.getTrustManagers(), null);

//retrieve a socketfactory!
         socketFactory = ssl_ctx.getSocketFactory();


Any advice on what to change so that it will work?

Nathan

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to