‘sslSocketFactory(javax.net.ssl.SSLSocketFactory)‘ is deprecated

2023-11-17

'sslSocketFactory(javax.net.ssl.SSLSocketFactory)' is deprecated

具体信息如下: 

public OkHttpClient.Builder sslSocketFactory(SSLSocketFactory  sslSocketFactory)
Deprecated. SSLSocketFactory does not expose its X509TrustManager, which is a field that OkHttp needs to build a clean certificate chain. This method instead must use reflection to extract the trust manager. Applications should prefer to call sslSocketFactory(SSLSocketFactory, X509TrustManager), which avoids such reflection.
Sets the socket factory used to secure HTTPS connections. If unset, the system default will be used.
  Gradle: com.squareup.okhttp3:okhttp:3.8.0

 

不推荐使用以下方法

1

sslSocketFactory(SSLSocketFactory sslSocketFactory)

可以更新为:

1

sslSocketFactory(SSLSocketFactory sslSocketFactory, X509TrustManager trustManager)

具体代码如下:

    /**
     * 信任所有的证书
     */
    public static OkHttpClient getHttpsClient(OkHttpClient okhttpClient) {
        //OkHttpClient.Builder okhttpClient = new OkHttpClient().newBuilder();
        //信任所有服务器地址
        okhttpClient.newBuilder().hostnameVerifier(new HostnameVerifier() {
            @Override
            public boolean verify(String s, SSLSession sslSession) {
                //设置为true
                return true;
            }
        });
        //创建管理器
        TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
            @Override
            public void checkClientTrusted(
                    X509Certificate[] x509Certificates,
                    String s) throws CertificateException {
            }

            @Override
            public void checkServerTrusted(
                    X509Certificate[] x509Certificates,
                    String s) throws CertificateException {
            }

            @Override
            public X509Certificate[] getAcceptedIssuers() {
                return new X509Certificate[] {};
            }
        } };
        try {
            SSLContext sslContext = SSLContext.getInstance("TLS");
            sslContext.init(null, trustAllCerts, new SecureRandom());

            //为OkHttpClient设置sslSocketFactory
            okhttpClient.newBuilder().sslSocketFactory(sslContext.getSocketFactory(), new trustAllManager());

        } catch (Exception e) {
            e.printStackTrace();
        }
        return okhttpClient.newBuilder().build();
    }

    private static class trustAllManager implements X509TrustManager{

        @Override
        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {

        }

        @Override
        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {

        }

        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return new X509Certificate[0];
        }
    }

 

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

‘sslSocketFactory(javax.net.ssl.SSLSocketFactory)‘ is deprecated 的相关文章

随机推荐

  • 文章内容无法复制复制不了

    一些文档 什么的复制不了 主要有几种方法 目录 1 禁用js 2 ctrl P打印 3 选中要复制的内容 gt 拖到网址输入框 另外 通过一些浏览器插件 感觉用处不大 1 禁用js 优点 可以直接复制原有段落文字的格式 缺点 有点麻烦 对百
  • 通俗理解三大范式

    关系型数据库中我们用的最多的就是第一范式 1NF 第二范式 2NF 第三范式 3NF 所以需要我们深入理解三大范式 第一范式 1NF 要求数据库的每一列都是不可分割的原子数据项 在上面的表中 家庭信息 和 学校信息 列均不满足原子性的要求
  • Windows下C语言操作硬件设备的方法

    本文作者 Fezl 本文原地址 http blog csdn net u010147522 article details 49912221 之前都是在linux下操作硬件设备 open read write ioctl 相当方便 最近要检
  • jQuery 入门教程(23): jQuery UI Autocomplete示例(一)

    AutoComplete 在获取焦点后 随着用户键入的内容 可以在预订的数据源中查找和已输入的内容相匹配的内容列表供用户选择 这可以用作之前输入过的内容也可以用作自动填充相关内容 比如根据城市名 自动填充邮编等 你可以使用本地数据源或是远程
  • nvm的安装及使用、下载cnpm以及git的配置

    nvm下载 下载图中安装包 下载完了就有这个 双击安装 路劲把C改为D即可 这是直接下载选择好安装路劲之后 没配置的环境变量 配置后的环境变量 1 文件夹设置 2 环境变量配置 查询nvm版本号 nvm常用命令如下 使用nvm下载 node
  • 适合初学者的强化学习教程(1): python使用gym实践和注意事项

    作者 知乎 Ai酱 安装步骤和报错问题 安装 pip install gym 报错 AttributeError module gym envs box2d has no attribute BipedalWalker 这是因为gym没有安
  • C语言for循环必备练习题

    话不多说 直接上题 笔者的一贯要求 速度 1 作业标题 663 关于while 条件表达式 循环体 以下叙述正确的是 假设循环体里面没有break continue return goto等等语句 作业内容 A 循环体的执行次数总是比条件表
  • 构造函数初始化列表

    目录 一 初始化列表 二 初始化列表的使用 三 注意 1 每个成员变量在初始化列表中只能出现一次 初始化只能初始化一次 2 类中包含以下成员 必须放在初始化列表位置进行初始化 3 尽量使用初始化列表初始化 因为不管你是否使用初始化列表 对于
  • ubuntu16.04上利用opencv目标跟踪工具实现8种目标跟踪

    一共八种工具 八种工具包括 BOOSTING Tracker 和Haar cascades AdaBoost 背后所用的机器学习算法相同 但是距其诞生已有十多年了 这一追踪器速度较慢 并且表现不好 但是作为元老还是有必要提及的 最低支持Op
  • 操作系统面试题总结

    1 线程与进程的区别联系 2 进程通信方式有哪些 3 同步的方式有哪些 4 ThreadLocal与其它同步机制的比较 5 进程死锁的条件 第一题 1 线程是进程的一个实体 一个进程可以拥有多个线程 多个线程也可以并发执行 一个没有线程的进
  • [Unity 3D] DOTween 常用函数

    DOTween官方文档 http dotween demigiant com documentation php 一 控制变量 1 DOTween To static DOTween To getter setter to float du
  • 端口扫描介绍

    文章目录 1 端口的基本概念 2 端口的常见分类 3 端口扫描原理 1 端口的基本概念 端口 在计算机网络领域中是个非常重要的概念 它是专门为计算机通信而设计的 它不是硬件 不同于计算机中的 插槽 可以说是个 软端口 端口是由计算机的通信协
  • vue+Element-ui 导入excel文件生成json数据

    1 首先安装依赖 import XLSX from xlsx 2 建立读取excel文件的js文件 以便调用 importExcel js import XLSX from xlsx export function readExcel fi
  • java随笔:类成员

    类成员 1 介绍 在java中只能包含成员变量 方法 构造器 初始化块 内部类 接口 枚举 5种成员 其中static可以修饰成员变量 方法 初始化块 内部类 接口 枚举 用static修饰的成员就是类成员 类成员属于整个类 而不属于单独的
  • KLT(Kanade-Lucas-Tomasi )

    目录 光流法 KLT 原理 应用 目标跟踪算法主要分为两类 一类是传统的目标跟踪算法 粒子滤波 pf Mean Shift及KLT算法 或称Lucas光流法 另一大类是基于深度学习的跟踪算法 光流法 光流 Optical flow 其实是指
  • MySQL事务隔离级别、脏读、幻读、不可重复读现象及解决办法、快照读和当前读

    目录 一 事务隔离级别 二 脏读 幻读 不可重复读现象及解决办法 1 脏读 2 不可重复读现象 3 幻读现象 4 使用for update避免幻读 5 使用串行读避免幻读现象 三 快照读与当前读 1 理论 2 RR 下 快照建立时机 第一次
  • Tensorflow Serving 模型部署指南

    文章目录 1 Saver端 模型的离线训练与导出 1 1 saved model 模型保存与载入 1 1 1 简单场景 模型保存 1 1 2 简单场景 模型载入 1 1 3 使用SignatureDef 模型保存 1 1 4 使用Signa
  • 一开机checkingmedia_Win7系统开机提示Checking Media Presence如何解决

    Win7系统在开机的时候 总是会弹出各种各样的错误提示 比如最近就有win732位系统用户反映说开机的时候提示Checking MediaPresence 出现这样的问题可能是启动顺序问题导致的 现在给大家分享一下Win7系统开机提示Che
  • actuator--基础--01--介绍

    actuator 基础 01 介绍 1 介绍 是一个采集应用内部信息暴露给外部的模块 2 提供哪些的功能 健康检查 审计 指标收集 HTTP 跟踪 监控和管理Spring Boot 应用 2 1 访问方式 上述的功能可以通过HTTP 和 J
  • ‘sslSocketFactory(javax.net.ssl.SSLSocketFactory)‘ is deprecated

    sslSocketFactory javax net ssl SSLSocketFactory is deprecated 具体信息如下 public OkHttpClient Builder sslSocketFactory SSLSoc