【问题标题】:How to ensure TLS 1.2 is used in API request from Android Volley?如何确保在来自 Android Volley 的 API 请求中使用 TLS 1.2?
【发布时间】:2019-12-19 07:53:48
【问题描述】:

我需要使用 TLS 1.2 对服务器进行所有 API 调用。我正在使用 volley (v1.1.1) 和 minSDKversion 21。如何确保所有调用都使用 TLS 1.2 完成?

【问题讨论】:

  • 你找到答案了吗?

标签: android api android-volley tls1.2


【解决方案1】:

你试过了吗?

在 android build.gradle 中添加 play-services-safetynet 库:

implementation 'com.google.android.gms:play-services-safetynet:+'

并将此代码添加到您的 MainApplication.java:

  @Override
  public void onCreate() {
    super.onCreate();
    upgradeSecurityProvider();
    SoLoader.init(this, /* native exopackage */ false);
  }

  private void upgradeSecurityProvider() {
    ProviderInstaller.installIfNeededAsync(this, new ProviderInstallListener() {
      @Override
      public void onProviderInstalled() {

      }

      @Override
      public void onProviderInstallFailed(int errorCode, Intent recoveryIntent) {
//        GooglePlayServicesUtil.showErrorNotification(errorCode, MainApplication.this);
        GoogleApiAvailability.getInstance().showErrorNotification(MainApplication.this, errorCode);
      }
    });
  }

参考:https://stackoverflow.com/a/55365051/5320349

【讨论】:

  • tnx,我现在就试试。但可以肯定的是 - 我应该在 onProviderInstalled() 中使用 Volley 请求吗?或者只是将下面的代码粘贴到 mainActivity() 中,它会“让所有应用程序都使用 tls”?
  • SoLoader.init 是什么?我应该写什么来代替 /*native exopackage*/?
猜你喜欢
  • 2019-10-17
  • 2017-06-12
  • 2018-12-03
  • 1970-01-01
  • 2016-07-25
  • 2016-10-31
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
相关资源
最近更新 更多