【问题标题】:Enabling TLS 1.2 on Codename one App for Android 4.0.X , 4.1.X and 4.2.X在适用于 Android 4.0.X、4.1.X 和 4.2.X 的 Codename one App 上启用 TLS 1.2
【发布时间】:2016-08-28 10:51:53
【问题描述】:

我有一个 android 应用程序在 android 4.0.X 、 4.1.X 、 4.2.X 上无法通过 https 协议与服务器端的 API 通信。

官方文档说支持 TLS 1.2,但默认不启用。我还没有找到一种使用 Codename one 启用它的方法;如何在 android / Codename one 应用上启用 TLS 1.2?

【问题讨论】:

    标签: ssl codenameone tls1.2


    【解决方案1】:

    您需要创建一个本地接口调用,然后在本地部分使用此处说明的方法之一:How to enable TLS 1.2 support in an Android application (running on Android 4.1 JB)

    您可以通过guideline heredeveloper guide coverage of this 创建原生界面。

    【讨论】:

    • 感谢 Shai,实际上我尝试创建一个本地接口并放置本地代码,但我的代码在服务器端无法识别。这是我的代码。 public class NativeCallImpl { public void updateSecurityRules() { try{ ProviderInstaller.installIfNeeded(getApplicationContext()); }catch(Exception exception){ } }
    • 如果这是不可能的,请考虑添加这段代码以避免在您的 android 生成代码中出现 TLS 版本问题。 try{ ProviderInstaller.installIfNeeded(getBaseContext()); }catch(Exception exception){ }
    • 您是否为ProviderInstaller 类添加了导入语句?请注意,您可以编辑您的问题并在其下方写下“更新”,然后发布您尝试过的本机代码和您收到的错误消息,或者您可以创建一个与错误相关的新问题。您还可以提出问题,要求我们默认添加该代码,因为我不确定默认打开此代码的含义,我们需要研究codenameone.com/blog/issue-submission-guideline.html
    • 谢谢 Shai,确实问题是我错过了添加导入语句。我的本机代码如下:public void updateSecurityRules() { try { com.google.android.gms.security.ProviderInstaller.installIfNeeded((android.content.Context) MainClass.getContext()); } catch (com.google.android.gms.common.GooglePlayServicesRepairableException e) { e.printStackTrace(); } catch (com.google.android.gms.common.GooglePlayServicesNotAvailableException e) { e.printStackTrace(); } }它运行良好。
    猜你喜欢
    • 1970-01-01
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 2013-09-29
    • 2017-12-25
    相关资源
    最近更新 更多