android 内置webview 对https的支持
16lz
2021-01-25
1、问题
最近开发应用遇到了webview 需要支持https的问题,找遍了网络各个帖子,网友们大致提供了两种方案:
1)WebViewClient 添加ssl error 错误处理
@Overridepublic void onReceivedSslError(WebView view,SslErrorHandler handler, SslError error) {handler.proceed();}
2)自定义WebViewClient
2、方案分析
通过代码实际分析发现以上两种方案对于tls1.0 是管用的,但目前由于一些server的需求,强制将server的访问限制成TLS1.2,这种情况下webview就不能工作了,上面两种方案就是浮云。
webview 会一直报“无法建立安全连接。”
3、如何解决
寻遍三山五岳,最后的解决方法就是没有解决方案,但有一篇权威的统计,TLS1.2 到底是否支持android os webview tls 支持详情
ogle Android OS Browser [28] | Android 1.0, 1.1, 1.5, 1.6, 2.0–2.1,2.2–2.2.3 | No | Enabled by default | Yes | No | No | Unknown | No | No | Unknown | Unknown | Vulnerable | Vulnerable | Vulnerable | Vulnerable | No | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Android 2.3–2.3.7, 3.0–3.2.6, 4.0–4.0.4 | No | Enabled by default | Yes | No | No | Unknown | Yes[2] | since Android OS 3.0[29] | Unknown | Unknown | Vulnerable | Vulnerable | Vulnerable | Vulnerable | No | |||
Android 4.1–4.3.1, 4.4–4.4.4 | No | Enabled by default | Yes | Disabled by default[30] | Disabled by default[30] | Unknown | Yes | Yes[3] | Unknown | Unknown | Vulnerable | Vulnerable | Vulnerable | Vulnerable | No | |||
Android 5.0-5.0.2 | No | Enabled by default | Yes | Yes[30][31] | Yes[30][31] | Unknown | Yes | Yes | Unknown | Unknown | Vulnerable | Vulnerable | Vulnerable | Vulnerable | No | |||
Android 5.1-5.1.1 | No | No | Yes | Yes | Yes | Unknown | Yes | Yes | Unknown | Unknown | Not affected | Only as fallback [n 15] | Mitigated | Mitigated | No | |||
Android 6.0-6.0.1 |
所以server要强制配置成TLS1.2得看目标用户是否都是4.4或更高的版本。
更多相关文章
- 高级Redis应用进阶课 一站式Redis解决方案
- 编译android 7.0 出现Try increasing heap size with java optio
- [置顶] Android(安卓)Retrofit 2.0框架上传图片解决方案(一张与多
- Android5.1 WebView遇坑笔记-Resources$NotFoundException
- NestedScrollView、ScrollView 加载完自动滑动至底部问题的解决
- Android(安卓)Timer使用的异常:Timer was canceled 处理方法
- 【Android(安卓)Studio安装部署系列】三十六、Android(安卓)stud
- 由于react-native-device-info出现的android:appComponentFactor
- Android(安卓)Studio开发工具异常与解决方案收集