首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在应用浏览器中消除Cordova中的SSL验证

在应用浏览器中消除Cordova中的SSL验证
EN

Stack Overflow用户
提问于 2016-08-10 02:17:27
回答 5查看 14.9K关注 0票数 6

我正在构建一个网络和混合移动应用程序。这些应用程序使用ssl自签名证书与第三方服务通信,以实现env的暂存。桌面浏览器允许接受带有risk警告的无效cert,但在iOS应用程序中,我得到了此错误

代码语言:javascript
运行
复制
Failed to load resource: The certificate for this server is invalid. You might be connecting to a server that is pretending to be "xxx" which could put your confidential information at risk.

我理解这种风险,但由于我的第三方提供者不能为临时服务器中的服务提供有效的ssl证书,所以我别无选择。

在iOS和android插件中是否存在允许无效ssl证书的信任/可能性。

真的很感谢你的帮助。

EN

Stack Overflow用户

发布于 2019-06-04 02:17:30

cordova-android@6.3.0中(以及更新的?)编辑SystemWebViewClient.java并编辑onReceivedSslError,如大写注释中所示:

代码语言:javascript
运行
复制
    public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {

        final String packageName = parentEngine.cordova.getActivity().getPackageName();
        final PackageManager pm = parentEngine.cordova.getActivity().getPackageManager();

        ApplicationInfo appInfo;
        try {
            appInfo = pm.getApplicationInfo(packageName, PackageManager.GET_META_DATA);
            if ((appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
                // debug = true
                handler.proceed();
                return;
            } else {
                // debug = false
                // ADD THESE LINES TO IGNORE INVALID SSL CERTIFICATE
                handler.proceed();
                return;
                // COMMENT THIS LINE:
                //super.onReceivedSslError(view, handler, error);
            }
        } catch (NameNotFoundException e) {
            // When it doubt, lock it out!
            super.onReceivedSslError(view, handler, error);
        }
    }

现在,在调试和发布配置中,SSL证书错误都将被忽略。

这是取自这篇文章中的一个答案。

票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38863228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档