network: SSL handshake aborted: ssl=0x6cbfe878: I/O error during system call, Connection reset by peer

Hi,

I have just updated to the latest Corona SDK 2020.3567 due to the new Android API SDK 28+ requirements and I am now getting issues on older devices (Android 4.4.2) when connecting to secure servers. 

The error I see in LogCat is

Error 6053 Corona ERROR: network: SSL handshake aborted: ssl=0x6cbfe878: I/O error during system call, Connection reset by peer: https://<uri removed for this post>/token (javax.net.ssl.SSLException)

I have been unable to find any results at all relating to that specific error code in Google searches. The closest information I can find indicates it may be a TLS 1.2 issue. If I run the previous version of my app (which was built with Corona 2019.3470 i think, target SDK 27) it connects to that same server without any issues.

Any ideas as to what I going on here and what that specific error code means and more importantly how to resolve it.

Thanks.

Android 4 does not support TLS 1.2,  If your web host has that as a minimum (no fall back to 1.1 or 1) you are out of luck.

I’ve dropped support for anything under 5 as they are crappy devices anyway.

Same device, same app, same web host, compiling with an earlier build of Corona connects just fine on my Android 4 device. So it is possible for it to communicate securely with the server, however something has changed with the newer versions of Corona which are now preventing it from working. I don’t know for sure that its a TLS 1.2 issue, that was a guess. I cant find any information at all on that particular error code. 

I still have a fair few users with Android 4 devices due to the nature of how my apps are used.

I’ve been digging into this further and found that the previous build of the app was actually with the last public release 2018.3326. I downloaded that version and recompiled and it was still failing so i checked the source history between the last version and this latest one and there was a change to the server the requests were being sent to. It was now pointing to a new server that was set to only accept TLS 1.2+, whereas the old server was accepting TLS 1.0+. 

So @SGS you were correct, it was a server issue in the end re TLS. Cheers

Ha! Another public release issue! Ya, the public release is over 18 months old so it is ancient - you need up to date daily builds for things to work. Also even 5.0 is like over 6 years old, so even they are ancient. Even older ones are prehistoric

In the end, the issue wasn’t anything to do with the last public release at all, it was a backend server issue on my side. I try to just stick to the public releases for stability reasons, but the current one is very old like you have said and not actually usable anymore anyway due to things like the Android target Api 28+ requirement.

Yep those are ancient but there are still a fair number of users who have them. I checked my app stats today and there were 500 active paid users this month who are on Android 4 devices.