如何在没有Google Play服务的帮助下使TLS 1.2在Android 4.4中工作?

如何在没有Google Play服务的帮助下使TLS 1.2在Android 4.4中工作?

问题描述:

我有一个Android应用程序,严格运行在无法使用Google Play服务的Android版本上。该应用程序通过HttpsUrlConnection从正在更新的远程服务器发出数据请求,仅支持TLS 1.2握手。我看着这个blog post并试图实现它,但它不适合我。我知道我可以使用Google Play服务并更新SSL提供商,但这不适用于我的特定Android设备。我的问题是,如果没有Google Play服务的帮助,我可以让TLS 1.2在Android 4.4上运行吗?如何在没有Google Play服务的帮助下使TLS 1.2在Android 4.4中工作?

我结束了安装谷歌的副本从apkmirror.com播放服务来解决这个问题,并使用:

ProviderInstaller.installIfNeeded(getContext()); 

我有同样的要求。我能够使用httpClient 4.1.2为Android 4.1启用TLS 1.1+ 我使用此链接https://github.com/erickok/transdroid/blob/master/app/src/main/java/org/transdroid/daemon/util/TlsSniSocketFactory.java

将代码中包含该文件后,只需在下面的代码中引用它们即可。

SchemeRegistry registry = new SchemeRegistry(); 
registry.register(new Scheme("https", new TlsSniSocketFactory(), 443)); 
client = new DefaultHttpClient(new ThreadSafeClientConnManager(httpParameters, registry),httpParameters); 

希望这对你有所帮助。

+0

我居然看着那个,但遇到同样的问题,因为使用HttpURLConnection类。两者仍然使用尚未从Google Play服务更新的SSLEngine。 – Kelly

+0

@凯利不,你不需要。你必须注册课程。它为我工作得很好。无论如何,看起来你找到了一种选择。 – LoveForDroid

+0

在许多其他尝试和挫折之后,这对我来说很有用。谢谢! – rjfellman