Anki-android: AnkiWeb will require TLS1.2 moving forward

Created on 12 Nov 2019  路  14Comments  路  Source: ankidroid/Anki-Android

Hi all,

A heads up that TLS1.2 will be required to access AnkiWeb from Jan 1 2020:
https://anki.tenderapp.com/discussions/announcements/136-sunsetting-anki-20-support

From a brief Google, this looks like it may impact devices running early Android 4.x releases. If you want to retain compatibility, the following page may help: https://ankushg.com/posts/tls-1.2-on-android/

2.9.x Anki Ecosystem Compatibility Priority-High

Most helpful comment

No worries @dotancohen I was not seriously contemplating moving to API21. I've implemented several TLS hacks before for the old APIs and still have an old device I test with as well - it should be possible to support it :-)

All 14 comments

Thanks for the headsup! and Oh, how I have suffered with TLS1.2 support on Android 4.x. There are a few workarounds yeah

Likely related in this repo #3626

Possibly related but only if we clip Android API support up to Android 5 / API21. We still have thousands of users on API19 and I don't think we were contemplating moving up to API21 so likely won't be resolved #5223

I'm going to mark this is as high priority for us since the time is short

Relevant link to likely implementation we will need, from link above: https://gist.github.com/ankushg/8c0c3144318b1c17abb228d6211ba996

Note that as a test you need a server that already forces TLS1.2. There is likely a way to do this locally but I will submit that simply using a temporary file via direct download from dropbox works in my experience: https://github.com/mikehardy/react-native-update-apk#version-json-example

Sounds like a lot of fun 馃槵馃く

@mikehardy
I'm traveling the next two weeks then moving back to NZ for a new job, so please email me directly if there's some urgent action I need to take.

Will do - but should not be urgent action - safe travels @timrae

I should probably mention that I'm stuck on API 19 with my E-ink devices. Please don't bump to API 21. Please.

Googling around I see that there are in fact solutions to use TLS1.2 on Android 4.4 (API 19). For a working example of an app that supports TLS 1.2 on API 19, (Opera Mobile](https://ftp.opera.com/pub/opera/android/mobile/1210/). There are quite a few threads on the topic in developer forums as well.

No worries @dotancohen I was not seriously contemplating moving to API21. I've implemented several TLS hacks before for the old APIs and still have an old device I test with as well - it should be possible to support it :-)

@mikehardy Thank you! Your work - and Damien and Tim and everybody else - is very very much appreciated.

First step done, and publishing the WIP/Draft version just in case https://github.com/ankidroid/Anki-Android/pull/5658

The commit contains a link to the second phase of the transformation (switch to okhttp3 request/response style from OkApacheClient wrapper, enable TLS1.2 during client build), which will enable TLS1.2 for Android API<=21

@dotancohen please test, if possible: https://github.com/ankidroid/Anki-Android/pull/5658#issuecomment-565681882

@mikehardy Thank you, I will test.

I can confirm that AnkiDroid-2.10alpha17-TLS12.parallel.E.apk syncs fine in both directions on an Android 4.4 (API 19) Barnes & Noble Nook Glow3 E-ink device. Thank you!

A heads up that the deadline on this was extended to Feb 1, so no need to rush out a release if it needs more testing.

Thanks @dae I think that will help as I won't be available for triage and any needed 2.10.1 until a few days after the new year. But we are close now at least and the deadline pressure was useful to get me moving at any rate. Cheers

Was this page helpful?
0 / 5 - 0 ratings

Related issues

SimonePols picture SimonePols  路  3Comments

mikehardy picture mikehardy  路  5Comments

mashinbaz1 picture mashinbaz1  路  6Comments

snowtimeglass picture snowtimeglass  路  5Comments

infinyte7 picture infinyte7  路  4Comments