Android webview 得到 sslError SSL_UNTRUSTED 但证书有效

2024-01-10

我已经实施了onReceivedSslError我的 WebViewClient 中的方法来正确处理 webview 中无效的 https 证书:

@Override
        public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
            final AlertDialog.Builder builder = new AlertDialog.Builder(WebActivity.this);
            String message = "SSL Certificate error.";
            switch (error.getPrimaryError()) {
                case SslError.SSL_UNTRUSTED:
                    message = "The certificate authority is not trusted.";
                    break;
                case SslError.SSL_EXPIRED:
                    message = "The certificate has expired.";
                    break;
                case SslError.SSL_IDMISMATCH:
                    message = "The certificate Hostname mismatch.";
                    break;
                case SslError.SSL_NOTYETVALID:
                    message = "The certificate is not yet valid.";
                    break;
            }
            message += " Do you want to continue anyway?";

            builder.setTitle("SSL Certificate Error");
            builder.setMessage(message);
            builder.setPositiveButton("continue", (dialog, which) -> handler.proceed());
            builder.setNegativeButton("cancel", (dialog, which) -> handler.cancel());
            final AlertDialog dialog = builder.create();
            dialog.show();
        }

当 webview 加载我的网页时SslError.SSL_UNTRUSTED正在检测到错误。但是,如果我在 Chrome(桌面版或移动版)中打开相同的网址,则证书被视为有效且受信任:

为什么会发生这种情况?


对我来说,这是我试图访问的服务器的问题。它的中间证书链已损坏。这是重定向服务器的链条断了。 当存在断链时,webview 无法解决,因为它不知道在哪里寻找正确的证书。

使用这个工具 https://www.ssllabs.com/ssltest/检查常见的错误配置。请务必检查所有重定向。

安卓不支持权威信息获取 https://www.rfc-editor.org/rfc/rfc5280#section-4.2.2.1

因此不存在友邦保险抓取 https://www.thesslstore.com/blog/aia-fetching/

但是?!...它可以在浏览器中运行是的,它适用于浏览器,因为所有浏览器都带有一个中间体列表,当证书链断开时可以依靠中间体列表。

解决方案:修复服务器上的证书链。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android webview 得到 sslError SSL_UNTRUSTED 但证书有效 的相关文章

  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • Xamarin Android Webview Javascript

    我正在尝试通过 Xamarin for Android 创建一个移动应用程序 它有一个显示网站的 WebView 问题是正常按钮会触发 但 javascript 事件不会触发 我已经启用了 Javascript 但没有运气 如何在 Andr
  • Android Q:file.mkdirs() 返回 false

    我们有一个应用程序 使用外部存储来存储一些临时文件 图像 二进制数据 该代码已经运行了几年 直到最近才发生重大变化 在 Android Q 上它不起作用 File f new File Environment getExternalStor
  • 将现有 VARCHAR 列与 Room 结合使用

    我正在尝试将现有的数据库与 Android Room 一起使用 但是 我的一个表有一个 VARCHAR 列 Room 似乎只支持 TEXT 不支持 VARCHAR 而且 sqlite 不允许修改列类型 那么 有没有办法使用Room中现有的带
  • Android应用程序组件销毁和重新创建的详细信息

    有人可以向我提供一些具体的 值得信赖的 最好是简洁的 信息 内容如下 系统销毁和 如果适用 重新创建组件的顺序 片段 活动 活动的线程 异步任务 计时器 静态数据 类何时卸载 其他类中的线程 异步任务 定时器 主机 TabActivity
  • Bitmap.getPixels() 中的 IllegalArgumentException

    我想将数据从位图复制到int using getPixels 这是我当前的代码 int pixels new int myBitmap getHeight myBitmap getWidth myBitmap getPixels pixel
  • 以编程方式将文本颜色设置为主要 Android 文本视图

    如何设置我的文本颜色TextView to android textColorPrimary以编程方式 我已经尝试了下面的代码 但它将 textColorPrimary 和 textColorPrimary Inverse 的文本颜色始终设
  • 在 Cordova 应用程序中获取额外功能

    我们有两个 Android 应用程序 一个使用本机 Java 实现 另一个使用 Ionic 编写 Ionic 应用程序启动我的应用程序 这是使用灯插件 https github com lampaa com lampa startapp 我
  • java.lang.IllegalStateException:应用程序 PagerAdapter 更改了适配器的内容,而没有调用 PagerAdapter#notifyDataSetChanged android

    我正在尝试使用静态类将值传递给视图 而不是使用意图 因为我必须传递大量数据 有时我会收到此错误 但无法找出主要原因是什么 Error java lang IllegalStateException The application s Pag
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • 对于一个单元格,RecyclerView onBindViewHolder 调用次数过多

    我正在将 RecyclerView 与 GridLayoutManager 一起使用 对于网格中的每个项目 我需要调用 REST api 来检索数据 然后 从远程异步获取数据后 我使用 UIL 加载 显示图像 一切似乎都很好 但我发现 on
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • 您使用什么物理 Android 设备进行测试?

    有什么好的推荐用于测试目的的物理 Android 设备吗 我正在苹果阵营寻找像 iPod touch 这样的设备 可以帮助 iOS 开发人员测试他们的东西 我知道有 Nexus One 但那东西相当昂贵 而且我并不真正关心手机的东西 而是可
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • 没有用于警告的设置器/字段 Firebase 数据库检索数据填充列表视图

    我只是想将 Firebase 数据库中的数据填充到我的列表视图中 日志显示正在检索数据 但适配器不会将值设置为列表中单个列表项中的文本 它只说 没有二传手 场地插入值 这让我觉得我的设置器没有正确制作 但 Android Studio 自动
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约

随机推荐

  • 多播 IP 地址 - 在调用 recvfrom 时被阻止

    我正在编写一个简单的多播应用程序 我打算在本地主机上运行它 我做了以下事情 char maddr sendfd socket struct sockaddr in sasend sasend sin family AF INET sasen
  • 更改 UILabel 行数后调整 UIStackView 的大小

    我的 iOS 应用程序有一个带有一个 UITableViewCell 的表格视图 其布局如下 1 个堆栈视图包含 2 个标签和 1 个按钮 当用户点击按钮时 中央标签的行数从 0 变为 2 如下所示 现在这里有两个问题 1 调整UIStac
  • 基于多个单元格值的 Excel 宏过滤器

    我有一个简单的宏 可以根据 A13 单元格中的值过滤行 效果很好 With ActiveSheet Range B2 F5000 AutoFilter Field 2 Criteria1 Range A13 End With 但我需要为此过
  • 我可以将此宏更改为内联函数而不影响性能吗?

    编辑 让我们将其命名为 测量如何出错的教训 但我仍然没有弄清楚到底是什么导致了差异 我发现了一个非常快的整数平方根函数here http www azillionmonkeys com qed sqroot html作者 马克 克朗 至少在
  • mongo-cxx-driver 库构建但持续存在链接和调试问题

    我正在尝试构建 mongo cxx driver 以便在 Windows 10 上使用 Visual Studio 2015 与 Cinder 一起使用 Cinder 使用 Boost 1 58 因此我根据其包含的 Boost 版本构建了驱
  • 实现接口但将成员更改为私有

    默认情况下 接口的所有成员都是公共的 但是我的接口中有一些属性我想用作实现我的接口的一些子类的私有成员 这是可以做的事情吗 还是我在这里偏离了基础 这些天我正在努力在我的架构中使用更多接口 所以我还不太熟悉 接口的要点是它们提供了其他对象可
  • 使用列表对象 Bot 框架进行提示对话框选择

    我正在创建一个 PromptDialog Choice 它填充存储在数据库中的对象选项列表 但是 它只显示对象的类型 而不显示选项的名称 谁能建议我从数据库加载选项并将其与 PromptDialog 绑定的最佳方法 这是我尝试过的 priv
  • 更改 Facebook Like 按钮的大小

    我使用下面的代码来获取 Facebook 的 Like 按钮 现在的问题是 我想更改呈现的 赞 按钮的大小 我尝试了宽度属性 但它根本不起作用 我尝试重写 facebook 用于以下代码的 CSS 类 但重写 CSS 类也不起作用 那么请告
  • 在 Android 上的游戏中购买时 Soomla IAB 错误

    我使用 unity 3d 制作了一个简单的游戏 只是为了测试 Google 服务 对于 Google Play 游戏服务 我使用 googleplayplugin 对于 iab 使用 soomla 插件 我认为所有配置都正确 我在我的 ne
  • LocationManager 正在服务 - 如果 1 分钟内没有修复则需要停止

    我有定期服务 每 5 分钟开始使用一次警报 服务实现 LocationListener 以获取 GPS 定位并将其保存到 SqLite 数据库中 我给服务人员 1 分钟的时间来尽可能获得最佳修复 如果在此之前我的准确率 一切都很好 我还有代
  • 如何在Python中使用密码加密文本?

    令人惊讶的是 在谷歌上很难找到这个问题的直接答案 我想从用户那里收集一段文本和一条消息 例如1PWP7a6xgoYx81VZocrDr5okEEcnqKkyDc hello world 然后我希望能够以某种方式加密 解密带有文本的消息 以便
  • SQL Server 2008 R2 地理距离?

    我创建了一个包含以下列的表 Text varchar 255 Location geography 它们包含荷兰的一些城市作为数据 从谷歌地图获取坐标 Rotterdam POINT 51 925637 4 493408 4326 Utre
  • SVN最佳实践-删除已完成的分支

    完成 重新集成分支后 最佳做法是删除该分支 以便您的头分支文件夹仅显示当前分支吗 如果是这样 什么时候删除重新整合的分支合适 次要版本发布后 这是我们标记的时间 Cheers 根据this https stackoverflow com q
  • 尝试安装 python 时出现错误

    我已经下载了 python 3 6 1 tar xz 然后我提取了它 有一个文件 README rst 这是说明文件 并有如何安装的说明 在 Unix Linux BSD macOS 和 Cygwin 上 configure make ma
  • k-最大双重选择

    想象一下你有两个麻袋 A and B with N and M球分别在其中 每个球都有一个已知的数值 利润 系统会要求您提取 有替换 总利润最大的一对球 由所选球的乘法给出 最佳提取是显而易见的 从其中选择最有价值的球A以及来自B 当你被要
  • 如何使用BluetoothHeadset API获取蓝牙连接的设备

    我想获取蓝牙连接设备的列表 而不仅仅是配对的设备 I found BluetoothHeadset API in API 级别 11它提供了方法getConnectedDevices 获取已连接的蓝牙设备的列表 如何使用此 API 获取蓝牙
  • 对多于一列进行过滤

    我有一个可以从一列中过滤的表格 handleSearch function oEvent var sValue oEvent getParameter value var oFilter new sap ui model Filter RA
  • jqGrid ColumnChooser 有完整的工作示例吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 At http www trirand com jqgridwiki doku php id wiki jquery ui methods
  • 单元测试有哪些流行的命名约定? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Android webview 得到 sslError SSL_UNTRUSTED 但证书有效

    我已经实施了onReceivedSslError我的 WebViewClient 中的方法来正确处理 webview 中无效的 https 证书 Override public void onReceivedSslError WebView