Android Question The Dropbox API will no longer accept TLS 1.0 or 1.1

NGUYEN TUAN ANH

Active Member
Licensed User
Dear All,
I used DropboxV2 Library in my B4A Project
Today i have received email from Dropbox
We’re reaching out because your app(s) DLDDBD have recently made calls to the Dropbox API using a deprecated TLS protocol version.
Beginning on or after April 13, the Dropbox API will require that calls use TLS 1.2 or greater. Traffic using TLS 1.0 or 1.1 will be rejected.
The latest Dropbox SDKs will select TLS 1.2 when available in the environment, but versions over two years old may require an update. In particular, users of the Dropbox Java SDK should update to v3.1.1 (released June, 2019) or later & Dropbox Python SDK should update to v8.4.1 (released November, 2017) or later.
TLS 1.2 has been the default on major mobile & desktop operating systems since 2014. Developers whose application may be run in older or unusual environments should investigate to ensure compatibility.
Please update your apps to ensure that they use TLS 1.2 when connecting to the Dropbox API.
Could you please help me.!
Thank you very much
Best Regards
 

Attachments

  • Dropbox.png
    Dropbox.png
    70.2 KB · Views: 306

JohnC

Expert
Licensed User
Longtime User
 
Upvote 0

NGUYEN TUAN ANH

Active Member
Licensed User
Which dropbox-core-sdk-*.* File are you using EXACTLY? Update it and change the reference to it in the library xml
Thank your reply
This is End of my "DropboxV2.xml"
<version>0.44</version>
<comment>The Dropbox library allows you to communicate with Dropbox</comment>
<author>DonManfred (wrapper)</author>
<dependsOn>dropbox-core-sdk-3.0.10</dependsOn>
<dependsOn>jackson-core-2.7.4</dependsOn>
</root>
So, what should i do for the next step ?
Best Regards.!
 
Upvote 0

NGUYEN TUAN ANH

Active Member
Licensed User
I downloaded the file "dropbox-sdk-java-5.1.1.jar" and Replace "dropbox-core-sdk-3.0.10.jar" in C:\Program Files (x86)\Anywhere Software\Basic4android\Libraries
Then, repair in xml "<dependsOn>dropbox-core-sdk-3.0.10</dependsOn>" become "<dependsOn>dropbox-sdk-java-5.1.1</dependsOn>"
Is that okay? Do I have to do anything more ?
 
Upvote 0

DonManfred

Expert
Licensed User
Longtime User
C:\Program Files (x86)\Anywhere Software\Basic4android\Libraries
this is the wrong path. Put it into the additional library folder. Where you placed the library jar and xml too (they TOO should not be in program files folder)
 
Upvote 0

mtechteam

Member
Licensed User
Longtime User
I tried to follow the above instructions, but am coming up with an error when compiling.

I downloaded dropbox-sdk-java-5.1.1.jar, and downloaded 0.47 version of DropboxV2, and modified the xml to match the downloaded jar.

Here is the error I get:

B4X:
B4A Version: 11.20
Parsing code.    (0.23s)
    Java Version: 11
Building folders structure.    (0.03s)
Compiling code.    (0.20s)
Compiling layouts code.    (0.03s)
Organizing libraries.    (0.00s)
    (AndroidX SDK)
Compiling resources    (0.74s)
Linking resources    (0.88s)
Compiling generated Java code.    (3.18s)
Convert byte code - optimized dex.    Error
PARSE ERROR:
unsupported class file version 55.0
...while parsing com/dropbox/core/DbxWebAuth$ProviderException.class
PARSE ERROR:
unsupported class file version 55.0
...while parsing com/dropbox/core/AccessErrorException.class
2 errors; aborting

There was something not related about making sure that you were using Java 8 (the above is Java 11) from Erel, so I set it back to that just in case, but received a similar error, it also said something like "expecting version 52.0"

Any ideas what I might be missing?
 
Upvote 0

mtechteam

Member
Licensed User
Longtime User
Sorry I wasn't clear (and not starting a new thread)

The output above is from using Java 11. Having the latest DropboxV2 (0.47) and corresponding jar (dropbox-core-sdk-3.1.4.jar) works fine. I'm just trying to address Dropbox requiring TLS 1.2 to make sure the app doesn't break in a few weeks.
 
Upvote 0

mtechteam

Member
Licensed User
Longtime User
Where may I find the latest version. I'm not able to locate on the b4x forum. It's probably there and I'm just not looking in the right place. 0.47 is the latest that I can locate.
 
Upvote 0

DonManfred

Expert
Licensed User
Longtime User
Where may I find the latest version. I'm not able to locate on the b4x forum. It's probably there and I'm just not looking in the right place. 0.47 is the latest that I can locate.
You did read my last answer, right? You also read that i said "guess i need to publish an update anyway :D"?

It also works with 0.47 btw...
 
Upvote 0

mtechteam

Member
Licensed User
Longtime User
Sorry, I did not mean to come across harshly.

As near as I can tell the version issue with 0.55 and 0.52 class is that some (or perhaps all) of the java code was compiled with a different version. Some entries on the web indicate one particular piece is compiled with 0.52 (java 8) while the rest are 0.55 (java 11) or vice versa. Since others have been successful with your existing package, and you are not able to reproduce it, I wasn't thinking that a update had any more chance of working than the latest update. (But who knows, it might)

if 0.60 is not readily accessible I can certainly wait until you have opportunity. Thank you for all your contributions to extending B4a functionality for all the rest of us developers.
 
Upvote 0

netsistemas

Active Member
Licensed User
Longtime User
sobre el problema tls, puedes leer esta publicación
 
Upvote 0
Top