美文网首页
『译』TLS 1.2+ 即将正式统治互联网 —— 背景下的 Ok

『译』TLS 1.2+ 即将正式统治互联网 —— 背景下的 Ok

作者: zonda的地盘 | 来源:发表于2019-11-12 19:39 被阅读0次

转载请注明原文地址:https://www.jianshu.com/p/c3b6ab91da1c

原文标题OkHttp 3.13及其后续版本必须 Android 5.0+
原文发布于:2019-02-05

今天我们发布了 OkHttp 3.13。更新这个版本的工程需要从:

  • Android 2.3+ 即 API 9+ (发布于 2010 年 12 月)

  • Java 7+ (发布于 2011 年 7 月)

升级为:

  • Android 5.0+ 即 API 21+ (发布于 2014 年 12 月)

  • Java 8+ (发布于 2014 年 3 月)

砍掉老设备是一件很重要的变更,我们并非率性而为!下面我将要解释我们为什么这样做,我们如何把冲击最小化,以及如何升级。

为何此刻开始 Android 5+

TLS 是一种用于创建安全的、私有的、已认证的 HTTPS 调用的机制。OkHttp 已知有五个版本:SSLv3 (1996), TLSv1 (1999), TLSv1.1 (2006), TLSv1.2 (2008), and TLSv1.3 (2018)。在 2014 年由于 贵兵犬攻击,我们弃用了对 SSLv3 的支持。

如今到了弃用 TLSv1 和 TLSv1.1 的时候了,TLSv1.2 将成为互联网新的最低标准。在 10 月 15 我们业界的 Google, Mozilla, Microsoft, 以及 Apple 联合声明他们的浏览器将于 2020 年初开始只支持 TLSv1.2 或更高版本的协议。

Google 在 Android 5.0 才引入支持 TLSv1.2 。Oracle 在 Java 8 引入。在 OkHttp 3.1.3 版本我们需要主机平台(即:服务器)内置支持 TLSv1.2。

Android 4.x 咋办?

Google 的 版本分布面板 显示,于 2018 年 10 月,大约 11% 的设备为 Android 4.x 版本。为此我们创建了一个分支,OkHttp 3.12.x,用于支持这些设备。假如我们遇到任何严重的 Bug 或者安全问题,我们都将进行修复并发布补丁。我们计划保持这个分支,直到 2020 年 12 月 31 日。

译者注:版本分布面板 可能需要科学上网,目前显示,截止到 2019-05-07 Android 4.x 版本大约占用 9.6 %

如果你确实需要在 Android 4.x 支持 TLSv1.2 ,也是可能的!Ankush Gupta 曾写过一篇详细的指南,它阐述了如何通过 Google Play Services 实现它。即使你遵循这篇文章来处理,你也只能使用 OkHttp 3.12.x 在 Android 4.x 设备上。

译者注:国内就不要想了。。。。

如何升级?

配置工程的 minSdkVersion 至少为 21,同时 Android Gradle Plugin 版本至少到 3.2。 然后在 build.gradle 作如下配置:

dependencies {  
  implementation "com.squareup.okhttp3:okhttp:3.13.1"  
  ...  
}

你也需要设置 Java 版本到 1.8 或更高。我们可以开始使用 Java 8 的新特性来编码了 ( 哇 lambdas !) 同时 Android 编译器 如下处理

android {  
  compileOptions {  
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }  
  ...  
}

这个更新也需要 web 服务器必须默认支持 TLSv1.2 。如果你的 web 服务器是过时的 HTTPS 调用他们,将抛出一个 SSLException 。如有必要你可以配置 OkHttp 3.13 允许 TLSv1 和 TLSv1.1 连接:

OkHttpClient client = new OkHttpClient.Builder()  
    .connectionSpecs(Arrays.asList(ConnectionSpec.COMPATIBLE_TLS))
    .build();

如果你这样做,会发现一个警告:在 2020 年初网页浏览器将禁止连接你的 web 服务器!我们推荐升级服务器,而尽可能不是降低客户端的要求。

在我们的工程 wiki 里,我们编写了 TLS configuration changes

相关文章

网友评论

      本文标题:『译』TLS 1.2+ 即将正式统治互联网 —— 背景下的 Ok

      本文链接:https://www.haomeiwen.com/subject/glwqictx.html