1、Https证书验证失败,异常信息:

Trust anchor for certification path not found.

Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:361)at com.android.okhttp.Connection.connectTls(Connection.java:235)at com.android.okhttp.Connection.connectSocket(Connection.java:199)at com.android.okhttp.Connection.connect(Connection.java:172)at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:367)at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:130)at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:330)at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:247)

2、忽略证书代码:

CropUtil.java

public static SSLSocketFactory getUnsafeSslSocketFactory(){try {final TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {@Overridepublic void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) {}@Overridepublic void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) {}@Overridepublic java.security.cert.X509Certificate[] getAcceptedIssuers() {return new java.security.cert.X509Certificate[]{};}}};SSLContext sslContext = SSLContext.getInstance("SSL");sslContext.init(null, trustAllCerts, new java.security.SecureRandom());return sslContext.getSocketFactory();} catch (Exception e) {throw new RuntimeException(e);}}

TrustAllHostnameVerifier.kt

import javax.net.ssl.HostnameVerifier
import javax.net.ssl.SSLSessionclass TrustAllHostnameVerifier : HostnameVerifier {override fun verify(hostname: String?, session: SSLSession?): Boolean {return true}
}

3、使用:

ExoPlayer播放器忽略Https验证(HttpsURLConnection):

override fun onCreate(savedInstanceState: Bundle?) {HttpsURLConnection.setDefaultSSLSocketFactory(CropUtil.getUnsafeSslSocketFactory())HttpsURLConnection.setDefaultHostnameVerifier(TrustAllHostnameVerifier())
}

Retrofit2中使用:


OkHttpClient client = new OkHttpClient();
client.setSslSocketFactory(sslSocketFactory);
client.setHostnameVerifier(TrustAllHostnameVerifier());Retrofit retrofit = new Retrofit.Builder().baseUrl(ApiManager.SERVICE_ENDPOINT).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).client(client).build();

Https 忽略证书验证相关推荐

  1. Golang HTTPS 忽略证书验证

    通过设置TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, 来取消对HTTPS的证书验证,以处理x509: certificate  ...

  2. java忽略证书验证(兼容http,https)

    概述 日常上传.下载文件时可能有不需要验证证书的场景,比如证书过期.不正确之类的也可以正常的上传下载文件. Java中使用https协议时,是通过X.509证书进行校验的. 首先我们先了解下什么是X. ...

  3. 微信支付HTTPS服务器证书验证(PHP)

    PHP代码验证是否包含CA证书 如果无法通过验证,请点击连接查看官方操作,安装相应的ca证书即可 # test_wechat_ca.php <?php $data = array('mch_id ...

  4. iOS开发-https免证书验证

    此处博主做一个声明,如果你想跳过https的双向验证,仅仅单向进行直接信任所有的证书,那么你们的后台也必须是允许单向验证的,否则设置了双向验证,客户端是无法跳过的,实在不想当初辛苦的经验被无知的小白说 ...

  5. android对https的证书验证(SSL证书)

    1. 背景与需求 近期在做IP切换的HTTPS访问时,遇到了一些问题:客户端如何进行HTTPS的证书验证. 其实对于一般的项目基本都是做的单向验证,即在客户端证书或者HOST的验证:对于金融.银行相关 ...

  6. Android-工作遭遇-URLConnection原生请求http和https忽略证书

    Android网络请求框架非常多,github一搜就是一堆.我的博客就不讲这些,我就讲讲原生已经够用了. HttpURLConnection是Android提供的一个网络请求库,个人认为,还是蛮好用的 ...

  7. https之证书验证

    1.中间人攻击 对于http协议,中间人攻击(man in the middle)是一种著名的攻击方式. 图中John和Mary作为通信的双方,Frank为攻击者 1. John向Mary发送一段数据 ...

  8. c# https请求忽略证书验证_c# https绕过证书

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. c# https请求忽略证书验证_C# httpwebrequest访问HTTPS错误处理方法

    C# httpwebrequest访问HTTPS链接时遇到这个错误,但是如果我开抓包工具,比如filddler2,则POST返回正常 错误提示的Message为: 基础连接已经关闭: 发送时发生错误. ...

最新文章

  1. SpringBoot面试题及答案 110道(持续更新)
  2. 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀
  3. 谈服务发现的背景、架构以及落地方案
  4. 使用R语言绘制层次聚类热图
  5. CES 2021线上大会前瞻、Roblox 估值近300亿美元、联想将推出企业级 AR 眼镜等|Decode the Week...
  6. PHP使用header方式实现文件下载
  7. 跟我一起学.NetCore之Asp.NetCore中集成Autofac扩展
  8. 【渝粤教育】电大中专新媒体营销实务 (6)作业 题库
  9. 数字图像处理--微分算子为什么也是空间滤波器
  10. (12)FPGA时钟设计原则
  11. nodejs入门学习笔记一——一个完整的http路由服务实现
  12. 原生js实现选中所有的checkbox
  13. 在多模块开发的时候,利用项目继承可以将结构信息、部署信息,将共同的依赖放在一个父类中。...
  14. 一、操作系统的基本概念
  15. 网关支付、银联代扣通道、快捷支付、银行卡支付分别是怎么样进行支付的?...
  16. 自己动手写操作系统(高清图书+源代码)分享
  17. 吞吐量测试(RFC2544)超详细步骤_使用思博伦spirent testcenter_双极未来
  18. 云端软件平台 封装了诺基亚PC套件无法找到驱动怎么办
  19. 基于深度学习的短时交通流预测与优化
  20. 灵魂有香气的女子李筱懿|讲述女性自我成长的重要性

热门文章

  1. jenkins忘记管理员密码修改
  2. 洒一瓣秋香,种一片月光
  3. 计算机系统 ahci模式,老电脑安装系统忘记开启AHCI模式,教你不重装系统开启AHCI解决方法(3)...
  4. 看动画理解「链表」实现LRU缓存淘汰算法
  5. 2022年湖南省社会工作者考试综合实务(初级)练习题及答案
  6. QtCreator影子构建与默认编译目录
  7. 买了云服务器不会用?写了网站不会部署?超详细springboot+vue前后端项目部署教程来啦
  8. 给定升序数组,以及目标值,查找出最接近目标值的所有数组组合
  9. 计算机看门狗的作用,关于看门狗的作用
  10. 框架流程图绘制工具OmniGraffle 7 for Mac