Page 1 of 2

SSL and Android 4.4

Posted: 15 Apr 2019, 00:14
by Mrm83
So it appears SSL does not work with Android 4.4.

I did some research on the market and it appears that all the MMOs I looked into still support 4.4.

Now, I could either not support 4.4, or allow 4.4 users to connect without SSL..
But, how risky is it to allow non ssl mix with ssl connections?
or
How much safer is SSL vs non SSL connections?

Re: SSL and Android 4.4

Posted: 15 Apr 2019, 08:23
by Lapo
Hi,
you mean native Android via Java API or via Unity export (using C# API)?

Thanks

Re: SSL and Android 4.4

Posted: 15 Apr 2019, 13:35
by Mrm83
Project is Unity, Device is 4.4.

Re: SSL and Android 4.4

Posted: 15 Apr 2019, 18:44
by Lapo
It's likely to be Unity specific issue. We have done a lot of tests with SSL and iOS/Android a few months ago, and found multiple issues even with different releases of Unity. I'll have to talk to my colleagues and get back to you with more details.

Stay tuned.

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 08:16
by Bax
Hello Mrm83. Which version of the C# API are you using?

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 12:34
by Mrm83
I am not 100% sure, but I believe it is
Version 1.7.7

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 13:25
by Bax
First of all I'd suggest to test with the latest version available here: https://smartfoxserver.com/download/sfs2x#p=client (v1.7.11)

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 13:56
by Jochanan
Unless they change something significantly, i will save you some time and tell you, that it will not work.
We had same issue year or two before and i think it is related to the fact, that android (until 5) does not have TLS 1.2 enabled by default.

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 13:57
by Mrm83
Just tried it, it doesn't work.

I noticed on UNITY 2018 update, there was this note:
Now that the modern scripting runtime is fully supported, we’re committing to maintain it for all future versions of Unity. We’re also working on TLS 1.2 support across all platforms and improvement in build size and build times with the modern scripting runtime.

Does TLS1.2 affect SSL with SFS?

We are using Unity 2017 at the moment. If TLS1.2 is the problem, we might need to update to 2018 to support 4.4?

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 13:59
by Mrm83
Jochanan wrote:Unless they change something significantly, i will save you some time and tell you, that it will not work.
We had same issue year or two before and i think it is related to the fact, that android (until 5) does not have TLS 1.2 enabled by default.

Which version of Unity are you using? Newer than 2018.2?

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 14:26
by Bax
Starting from our API v1.7.9, we use the .Net 4.5.x classes to establish a secure connection in the SmartFox.InitCrypto() method.
In other words we don't deal directly with SSL, so the issue must be in Unity or Android.
If the issue is TLS support in Android as Jochanan mentioned, then I guess there's nothing you can do but target your build to a more recent version.

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 14:29
by Jochanan
Mrm83 wrote:Which version of Unity are you using? Newer than 2018.2?

2017.2 because it is the last version, that should be compatible with the Windows XP

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 14:31
by Lapo
Mrm83 wrote:J
Does TLS1.2 affect SSL with SFS?

TLS is the successor protocol to SSL. The two acronym are used kind of interchangeably but in essence SSL is an old cryptographic protocol that is no longer secure enough. TLS1.2 is the current standard for every form of encrypted communication over the internet.

SFS2X still supports older versions of TLS/SSL protocols so, in theory, an older client supporting only SSLv3 could try to connect and succeed. Generally speaking we don't recommend this as you're lowering your security and there are ways to force SFS2X to refuse anything but TLS1.2

Hope it's clear.

Re: SSL and Android 4.4

Posted: 16 Apr 2019, 14:52
by Mrm83
I just downloaded the latest version of Unity 2018 and can confirmed that cryto connection is working on 4.4 (emulator).

It wasn't working with 2017.4, but 2018.3 does.
I used a test script, it wasn't the full project. Will update ticket again once we migration our full project to 2018.

Re: SSL and Android 4.4

Posted: 17 Apr 2019, 00:20
by Mrm83
ok, we successfully migrated the project to 2018.3 and Android 4.4 SSL works.