马上:安卓5.0以下系统兼容 TLSv1.1 TLSv1.2
最近在不知情下,运维升级https证书级别为1.2,导致了安卓5.0以下的设备无法上网(接口证书错误),安卓7.12设备可以访问
查阅官方文档
借一个表格说明问题:
Protocol | Supported (API Levels) | Enabled by default (API Levels) |
---|---|---|
SSLv3 | 1–25 | 1–22 |
TLSv1 | 1+ | 1+ |
TLSv1.1 | 16+ | 20+ |
TLSv1.2 | 16+ | 20+ |
TLSv1.3 | 29+ | 29+ |
解决方案
能自定义 SSLSocketFactory
,更新DefaultSSLSocketFactory
。HttpsURLConnection
是 HttpsURLConnection.setDefaultSSLSocketFactory
,
代码看这:snippets