question

blueleaves avatar image
blueleaves asked Brian Murray Deactivated commented

**EDIT** TLS v1.+ and SSLv3 on Clover Station

------------------------------------------- EDIT -------------------------------------------

I had assumed that it was a clover mini. Turns out that it was a regular clover system. Thus, same question below, but with the perspective from the regular station.

------------------------------------------- EDIT -------------------------------------------

Hello, all.

I have a question regarding the Clover Mini and connection to remote, non-Clover servers.

I am trying to implement a 3rd party service inside my application to store data on a remote database. When I try to negotiate a handshake with the third party's servers, I get the following error:

Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x6bffcdf0: Failure in SSL 
            library, usually a protocol error error:140740B5:SSL routines:SSL23_CLIENT_HELLO:no 
            ciphers available (external/openssl/ssl/s23_clnt.c:486 0x68474ce0:0x00000000)

After some extensive research on this issue, I have learned that this might be an error in the device's fallback to SSLv3. I have tested my application on my Android Studio emulator and everything works fine; but, when I use the Clover Mini, it throws this error and crashes.

I have been informed that the device (Clover C300) might not be supporting the TLS v1.0 protocol that the servers use. The SDK I am using to connect to the servers has diabled SSLv3 and it uses HttpURLConnection as its default HTTP library.

Here is the full stack trace:

Caused by: com.amazonaws.AmazonClientException: Unable to execute HTTP request: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x6bffcdf0: Failure in SSL library, usually a protocol error error:140740B5:SSL routines:SSL23_CLIENT_HELLO:no ciphers available (external/openssl/ssl/s23_clnt.c:486 0x68474ce0:0x00000000)

com.amazonaws.http.AmazonHttpClient.executeHelper              AmazonHttpClient.java:421
com.amazonaws.http.AmazonHttpClient.execute                    AmazonHttpClient.java:196
com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.invoke  AmazonDynamoDBClient.java:3257
com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.getItem AmazonDynamoDBClient.java:904
com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.load DynamoDBMapper.java:393
com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.load DynamoDBMapper.java:466
com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.load DynamoDBMapper.java:340
@@@@.@@@@@.@@@@$@@@@.doInBackground  MainActivity.java:1259
@@@@.@@@@@.@@@@$@@@@.doInBackground  MainActivity.java:1237
android.os.AsyncTask$2.call          AsyncTask.java:288
java.util.concurrent.FutureTask.run  FutureTask.java:237
... 4 more

followed by:

Caused by: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x6bffcdf0: Failure in SSL library, usually a protocol error error:140740B5:SSL routines:SSL23_CLIENT_HELLO:no ciphers available (external/openssl/ssl/s23_clnt.c:486 0x68474ce0:0x00000000)

com.android.org.conscrypt.NativeCrypto.SSL_do_handshake          Native Method
com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake       OpenSSLSocketImpl.java:406
com.android.okhttp.Connection.upgradeToTls                       Connection.java:146
com.android.okhttp.Connection.connect                            Connection.java:107
com.android.okhttp.internal.http.HttpEngine.connect              HttpEngine.java:294
com.android.okhttp.internal.http.HttpEngine.sendSocketRequest    HttpEngine.java:255
com.android.okhttp.internal.http.HttpEngine.sendRequest          HttpEngine.java:206
com.android.okhttp.internal.http.HttpURLConnectionImpl.execute   HttpURLConnectionImpl.java:345
com.android.okhttp.internal.http.HttpURLConnectionImpl.connect   HttpURLConnectionImpl.java:89
com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream   HttpURLConnectionImpl.java:197
com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream  HttpsURLConnectionImpl.java:254
com.amazonaws.http.UrlHttpClient.writeContentToConnection        UrlHttpClient.java:128
com.amazonaws.http.UrlHttpClient.execute                         UrlHttpClient.java:65
com.amazonaws.http.AmazonHttpClient.executeHelper                AmazonHttpClient.java:353
... 14 more

Can anyone make sense of this error I am receiving? Does the Clover Station (C300, Android OS 4.4.2) use SSLv3? Any help would be much appreciated. Thanks!

10 |2000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

Brian Murray avatar image
Brian Murray Deactivated answered Brian Murray Deactivated commented

In addition to TLS 1.0, Clover Mini does not support any version of SSL. Please use TLS 1.2.

EDIT

We will be dropping TLS 1.0 support on Clover Station. https://docs.clover.com/announcements...

5 comments
10 |2000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

blueleaves avatar image blueleaves commented ·

Alright, thanks for the info.

0 Likes 0 ·
blueleaves avatar image blueleaves commented ·

Hey, Brian.

Turns out the bug occurred on a regular Clover Station, not the Mini. Apologies. Does the regular station only use TLS 1.2 like the mini?

0 Likes 0 ·
Brian Murray avatar image Brian Murray commented ·

Station only supports TLS 1.0 due to limitations in Android Jelleybean. We are looking into adding support for additional TLS versions. .

0 Likes 0 ·
Bryanne Vega avatar image Bryanne Vega commented ·

@blueleaves could you please shoot me an email (athacks274@gmail.com) I'm having the same issue, maybe you've found a temporary fix?

0 Likes 0 ·
pete-um avatar image pete-um commented ·

Just wondering if this issue has been addressed on the Clover Station. We're connecting to a service that wishes to drop support for TLS 1.0, but we have to continue to support the Clover Station.

0 Likes 0 ·

Welcome to the
Clover Developer Community