问题的开始:
随着android API的节节高升,高API的android手机市场占比也日趋变大,之前sdk中开发的web容器在加载公司的schema为https的h5页面时,白屏了无法正常加载!
问题的定位:
找了很久【在重载Webview对应的接口回调方法时没有写全,log日志不全】,最后一个个失败回调方法添加完成后发现是
出在了 onReceiverdSslError方法回调中,这里将super改为proceed即可正常打开页面收工!但介么做是有问题滴!因为这么做
https的意义就没啥了(这不是我说的,这是公司的安全部分跑包后说的...)proceed这个api相当于对出现问题的页面都放权加载了,如果加载了别人注入的页面那么就会造成风险。这里采取的解决方案是:
校验对应https的证书!
问题的解决:
1.获取证书【请自行参考网上的获取对应要加载的https地址的证书 我这里用windows exploer浏览器做的操作】
2.证书信息的提取
如何解决该问题重点在如何校验https证书,这里要明白证书本质的含义只不过是一个用特殊后缀命名的二进制文件而已,只是这个二进制文件中存有匹配验证的数据!


3. 第二步转换的对应数据信息如何转换成代码中能够使用的资源呢?
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
if (error.

在Android高API设备上,WebView加载HTTPS页面出现白屏问题。问题源于onReceivedSslError方法未正确处理,直接使用proceed可能导致安全风险。解决方法包括获取并校验HTTPS证书,提取证书信息,并在代码中进行校验。参考优快云博客进行详细步骤操作。
最低0.47元/天 解锁文章
678

被折叠的 条评论
为什么被折叠?



