android Google Play 警告:SSL 错误处理程序漏洞

2024-03-06

我在我的应用程序中使用 gorbin/ASNE SDK。我最近收到一封来自 Google 的电子邮件,主题如下:“Google Play 警告:SSL 错误处理程序漏洞”。在这封电子邮件中,Google 解释说我的应用程序有一个 [“WebViewClient.onReceivedSslError 处理程序的不安全实现”]

他们建议我[“要正确处理 SSL 证书验证,请更改代码以在服务器提供的证书满足您的期望时调用 SslErrorHandler.proceed(),否则调用 SslErrorHandler.cancel()”]

这是我对该方法的实现:

   public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                handler.proceed();
            }

有什么帮助吗?


要正确处理 SSL 证书验证,请更改代码以调用SslErrorHandler.proceed()每当服务器提供的证书满足您的期望时,并调用SslErrorHandler.cancel()否则。

例如,我添加了一个警报对话框来让用户确认,并且 Google 似乎不再显示警告。

    @Override
    public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
    final AlertDialog.Builder builder = new AlertDialog.Builder(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", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            handler.proceed();
        }
    });
    builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            handler.cancel();
        }
    });
    final AlertDialog dialog = builder.create();
    dialog.show();
}

更改后,将不会显示警告。参考 https://stackoverflow.com/a/36147896/5059725

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

android Google Play 警告:SSL 错误处理程序漏洞 的相关文章

  • RecyclerView每隔几个项目都是相同的 - 可扩展项目

    我的 recyclerView 有问题 我正在使用此布局来扩展 recyclerView 中的 cardView https github com AAkira ExpandableLayout https github com AAkir
  • 在解决依赖关系之前运行 gradle 任务

    我想运行一个 gradle 任务 在 gradle 尝试解决依赖关系之前获取其他源并设置它们 在 build gradle 中有一个任务 用于获取子项目的源代码 该任务需要在 Gradle 尝试解决依赖关系之前运行 因为子项目是依赖关系的一
  • Android-ListView-performItemClick

    当我尝试使用时遇到一些困难执行项目单击ListView 的功能 我想要做的就是以编程方式在列表的第一项中执行单击 我怎样才能做到这一点 我在文档中查找了该函数 但我并不真正理解它的参数 我尝试过类似的事情 myListView perfor
  • 如何增加 Gradle 守护进程的最大堆大小?

    签署 apk 时 我收到以下消息 To run dex in process the Gradle daemon needs a larger heap It currently has 1024 MB For faster builds
  • 从 admob 独立 SDK 切换到 Google Play 服务 SDK 时,apk 大小会膨胀

    使用 Admob SDK 我的 apk 大小为 230Kb 当用 google play services SDK 替换 Admob SDK 时 它是 1 5MB 膨胀了 6 倍以上 我想完整的 Google Play 服务客户端 SDK
  • 在运行时绘制HSV圆

    我想在我的应用程序中有一个颜色选择器 如下所示 我尝试过逐像素填充位图 尝试使用画布drawArc 方法 这两种方式都不利于性能 有任何想法吗 它可能不完全是它应该的样子 与颜色 饱和度等有关 但是这是一些东西 http i1272 pho
  • ImageView Android 内存

    我原来的后续question https stackoverflow com questions 5339883 android app ram usage 有没有一种方法可以在 Android 应用程序中使用 ImageViews 而不使
  • 在 Android 上检测已接听的拨出电话

    我知道这个问题已经被问过很多次了 但没有答案 但我仍然希望有人终于解决了这个问题 问题 我有一台运行 Android 2 3 的未 root 设备 我需要创建一项服务 打电话 等待呼叫被应答 接听电话后挂断电话 有超时 和其他许多人一样 我
  • Android - 启用和禁用蓝牙 - SDK 3 (OS 1.5) - 以编程方式?

    我编写了代码来以编程方式启用和禁用各种功能 例如 Wifi 振铃模式 飞行模式 您将在电源切换小部件中看到的所有内容 我还没有找到如何做的一个是蓝牙 看来在 SDK level 3 OS 1 5 中没有漂亮的蓝牙管理器类 有没有人指出关于启
  • XAMARIN - 添加来自 youtube 的视频

    我搜索如何从 youtube 添加视频的信息 例如 我想从一些 YouTube 链接添加视频 我认为它应该在网络视图中 但我需要一些详细信息 因为我找不到有关我的问题的任何信息 您可以使用 webview 播放 youtube 视频 str
  • Android 服务 START_STICKY START_NOT_STICKY

    我需要让我的服务始终在后台运行 并使用 startService 函数启动我的服务 无论应用程序的状态如何 我都不想重新启动服务 这是我的观察 START STICKY gt 如果应用程序启动 则服务正在重新启动 当应用程序关闭时 服务也会
  • Android 上 Java 库中的代码出现 NoClassDefFoundError

    我的用户经常遇到错误 应用程序在启动期间崩溃 当应该加载 MainActivity 时 VM 显然找不到该类 我不明白为什么 该应用程序的架构是 我的免费版和专业版都使用一个通用项目 不知道是否相关 请参阅下面的堆栈跟踪 有什么想法吗 ja
  • 通过 Intent 从文件管理器中选择文件

    我想做的 我想获取文件字符串形式的路径 我通过 Android 文件管理器选择该路径 我拥有的 Intent intent new Intent Intent ACTION GET CONTENT intent setType startA
  • Android物理引擎[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在研究了 3D 游戏编程之后 很快就明白了为什么物理引擎非常有用 Android 支持哪些物理引擎并且可以在 Android 上使用 关于
  • 按钮上方带有文本的单选按钮

    我是 Android 新手 我需要在我的活动中添加单选按钮 但我需要将文本放在项目符号按钮的顶部 请提供任何帮助 我发现了以下内容 尽管我不明白 drawable in 选择器和 style Tab 样式是什么 顶部带有文本的单选按钮 ht
  • 如何修复运行 Android 模拟器时出现 GPU Driver Issue 错误

    我的 Android 模拟器几周前运行良好 但现在出现错误 当我运行代码时 GPU 驱动程序问题错误对话框与模拟器一起弹出 当我单击 确定 时 Android 模拟器不会按预期运行应用程序 错误如下 Your GPU driver info
  • Android/三星 Galaxy S 模拟器

    有没有办法在三星银河模拟器或类似的东西上尝试我的项目 我的项目在 HTC Legend 上运行 但在该设备上崩溃了 我如何在 android eclipse 上设置三星 Galaxy s 我设置了 W800 854 2 2 AVD 但它可以
  • 如何在没有 OpenCv Manager 的情况下运行 OpenCV 代码

    我正在使用 OpenCV4Android 版本 2 4 10 并在 Samsung Galayx GT I9300 上测试我的代码 我遇到的问题是 我必须从 Play 商店下载 Opencv Manager 以便我的 opencv 代码运行
  • 使用Android Camera API,拍摄照片的方向始终未定义

    我使用相机API 拍摄的照片总是旋转90度 我想旋转它 所以首先我想知道图片的方向 这一点我被卡住了 我总是以两种方式得到未定义的方向 这是代码 Override public void onPictureTaken byte data C
  • 如何在jetpack compose中删除文本基线下方的空间?

    目前我得到这个 但我想要这样的东西 而且 50 和 min 中的文本也应该与顶部对齐 My code Row verticalAlignment Alignment Bottom Text text 18 color MaterialThe

随机推荐

  • Clojure、方面、Defprotocol、Defrecord

    defprotocol IAnimal IAnimal report o println type o reporting n inner report o println type o out n defrecord Dog IAnima
  • 如何将 JSON 转换为 CSV 格式并存储在变量中

    我有一个可以在浏览器中打开 JSON 数据的链接 但不幸的是我不知道如何阅读它 有没有办法使用 JavaScript 将这些数据转换为 CSV 格式并将其保存在 JavaScript 文件中 数据如下 count 2 items title
  • 纹理不绘制

    我想在屏幕上绘制图像 但我得到的是黑色方块 但上面没有纹理 图像路径正确并已加载 因为矩形具有正确的大小 我有一个单独的类用于加载名为 Texture 的纹理 还有一个用于绘制名为 Sprite 的纹理的类 这是代码 Class Textu
  • 如何向用户请求联系人访问权限,然后建立并打开联系人?

    好的 我联系了我的手机 除了两件事外 它运行得很好 首先 它第一次失败 因为它要求我访问联系人 我怎样才能使它在用户授予对联系人的访问权限后添加它 其次 有没有办法打开联系人 以便用户在建立后可以查看它 这就是我所做的 IBAction a
  • 使 Horizo​​ntalScrollView 的子级与屏幕一样大?

    我解决这个问题的方法是为子视图创建一个自定义视图 然后为自定义视图重写 onMeasure 新的 onMeasure 将宽度和高度设置为尽可能大 问题是当你显示软键盘时and旋转手机 随着方向的改变和键盘的显示 onMeasure 将 最大
  • 如何读取用户的单个字符?

    有没有一种方法可以从用户输入中读取单个字符 例如 他们在终端按下一个键 然后返回 有点像getch 我知道 Windows 中有一个功能 但我想要跨平台的功能 以下是 ActiveState Recipes 站点的链接 其中介绍了如何在 W
  • Hadoop/Hive Collect_list 不包含重复项

    根据该帖子 Hive 0 12 Collect list https stackoverflow com questions 6445339 collect set in hive keep duplicates 我试图找到 Java 代码
  • 项目在 Visual Studio 2010 解决方案中不可用

    我创建了下面的工具来使用我们的非 Microsoft 版本控制中的现有项目文件夹创建 VS2010 解决方案 当代码运行时 您告诉它您的代码位于哪个文件夹中 您的解决方案需要转到哪个文件夹 然后接受要在您选择的文件夹中创建的解决方案名称 它
  • Android - 应用程序已被拒绝,因为它主要面向儿童

    我在 Adob e Animate for Kids 中制作了一个应用程序 该应用程序第一次被接受 几天后我在我的应用程序中添加了 Admob 广告 除此之外没有任何更改 但现在我的应用程序不接受 Play 商店 并且第一个版本仍然在线 谁
  • Python 中的常见陷阱[重复]

    这个问题在这里已经有答案了 时隔多年 今天我再次被可变的默认参数所困扰 除非需要 我通常不会使用可变的默认参数 但我想随着时间的推移我忘记了这一点 今天在应用程序中 我在 PDF 生成函数的参数列表中添加了 tocElements 现在每次
  • 如何在 Android 布局文件夹中定位 1280x720 WXGA720 分辨率(如新的 Galaxy Nexus)?

    在运行 4 0 3 Ice Cream Sandwich 的 Android 模拟器上以 WXGA720 分辨率测试我的应用程序时 我的应用程序从横向视图中的 layout normal land 854x480 文件夹和纵向视图中的 la
  • 使用 Flask 和 Python 的网页中的网络摄像头

    我使用创建了一个人脸识别模型keras and tensorflow 现在我尝试使用 Flask 和 Python 将其转换为 Web 应用程序 我的要求是 我需要在网页上显示一个实时网络摄像头 通过单击按钮 它应该拍摄照片并将其保存到指定
  • 如何清除HTML数据?

    我们可以使用查询选择器来清除 CSS 样式表缓存 如下所示 每当我们更改样式表并需要浏览器清除我们的 CSS 样式表时 我们可以更改版本号 例如 1 1 1 2 等 有没有类似的东西可以清除HTML数据 我的 HTML 标记是这样的 img
  • 如何转义“#”,使其不会在 GitHub 评论中引用问题?

    相对于参考一个问题 https stackoverflow com questions 1687262 link to the issue number on github within a commit message 我只想输出文本 5
  • 驱动器号和冒号后没有斜杠的 Windows 路径 - 它指向什么?

    我输错了路径而不是c foo txt wrote c foo txt 我预计它要么会失败 要么会解决c foo txt 但它似乎解决了foo txt在当前用户的主文件夹中 Powershell 返回 PS C gt System IO Pa
  • 如何从我的本地计算机和其他区域的 EC2 实例访问我的 AWS MSK 托管 kafka 队列

    我正在 AWS MSK 上设置托管 kafka 队列 从本地计算机连接时 我似乎无法使安全性发挥作用 并且无法确定是否可以使用从一个区域到另一个区域的安全组 我已经浏览了主要文档中有关设置安全组的信息here https docs aws
  • 从 Travis 上的 Protractor 在 Sauce Labs 上运行 e2e 测试

    所以我有我的开源项目 https github com ahmednuaman radian https github com ahmednuaman radian 并且我有一些可以在本地运行良好的 e2e 测试量角器 https gith
  • 检查是否安装了 Windows 映像组件(wic 注册表)

    如何检查64位XP机器上是否安装了Windows映像组件 检查是否存在C Windows System32 WindowsCodecs dll
  • 连接 3 个字符串并返回指向新字符串 C 的指针

    我想知道是否有人可以帮助我 我正在尝试连接 3 个字符串并返回指向新字符串的指针 我似乎不知道如何使用strncat代替strcat and strncpy代替strcpy 我只学习 C 所以任何帮助将不胜感激 char concatena
  • android Google Play 警告:SSL 错误处理程序漏洞

    我在我的应用程序中使用 gorbin ASNE SDK 我最近收到一封来自 Google 的电子邮件 主题如下 Google Play 警告 SSL 错误处理程序漏洞 在这封电子邮件中 Google 解释说我的应用程序有一个 WebView