Android 7.1.1 and earlier still unable to create secure connection to server

I've been researching about Flutter/Dart and from the looks of it your code runs in a Dart-VM that ships its own BoringSSL. This BoringSSL version shipped with Dart seems to not have the "Android compatibility trick" included, hence the usual Android workaround doesn't apply here - Dart is not native Android.

As you've already figured out, there seems to be workarounds available for your Flutter/Dart clients. However, Google has apparently already fixed the bad behaviour in Dart and a fix is available since Dart 2.15+.

So from the looks of it, upgrading your app to use Dart 2.15+ would be my recommendation. Otherwise you will need to switch certificate authorities (as already mentioned).

PS: Checking the commit logs, it appears that the fix is already in 2.14.4. Version 2.14.4 · dart-lang/sdk@4ac35a7 · GitHub

6 Likes