java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
Android 忽略Https请求认证
新建一个工具类
package com.gbom.vms_mcu.util;import java.security.SecureRandom;
import java.security.cert.X509Certificate;import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;public class SSLSocketClient {//获取这个SSLSocketFactorypublic static SSLSocketFactory getSSLSocketFactory() {try {SSLContext sslContext = SSLContext.getInstance("SSL");sslContext.init(null, getTrustManager(), new SecureRandom());return sslContext.getSocketFactory();} catch (Exception e) {throw new RuntimeException(e);}}public static final X509TrustManager IGNORE_SSL_TRUST_MANAGER_X509 = new X509TrustManager() {@Overridepublic void checkClientTrusted(X509Certificate[] chain, String authType) {}@Overridepublic void checkServerTrusted(X509Certificate[] chain, String authType) {}@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[] {};}};//获取TrustManagerpublic static TrustManager[] getTrustManager() {TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {@Overridepublic void checkClientTrusted(X509Certificate[] chain, String authType) {}@Overridepublic void checkServerTrusted(X509Certificate[] chain, String authType) {}@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[]{};}}};return trustAllCerts;}//获取HostnameVerifierpublic static HostnameVerifier getHostnameVerifier() {HostnameVerifier hostnameVerifier = new HostnameVerifier() {@Overridepublic boolean verify(String s, SSLSession sslSession) {return true;}};return hostnameVerifier;}
}
通过这个类我们可以获得SSLSocketFactory,这个东西就是用来管理证书和信任证书的,然后还需要配置一个HostnameVerifier来忽略host验证,然后我们在Okhttp3中设置一下这两个属性。
client = new OkHttpClient.Builder().connectTimeout(1, TimeUnit.SECONDS).sslSocketFactory(SSLSocketClient.getSSLSocketFactory(),SSLSocketClient.IGNORE_SSL_TRUST_MANAGER_X509).hostnameVerifier(SSLSocketClient.getHostnameVerifier()).build();requestUrl = url;mParams = params;return api;
然后编译就可以
java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.相关推荐
- Android手机访问正规https网站,第一次请求报Trust anchor for certification path not found,之后又可以正常访问的问题排查。
今天在访问一个正规https网站的时候发现第一次请求报错: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValida ...
- 支付宝小程序 Trust anchor for certification path not found.
支付宝IOT小程序,做httpsy请求报错: 我用的容器是jetty9; 支付宝IOT小程序提示的错误:java.security.cert.CertPathValidatorException: T ...
- Android客户端访问https出现问题(Trust anchor for certification path not found)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 遇到问题 一.问题分析 二.问题解决 总结 遇到问题 安卓客户端在调用https接口出现java.security.cert ...
- imageloader 的 java.security.cert.CertPathValidatorException
最近使用imageloader 发现ssl问题 (java.security.cert.CertPathValidatorException) 网上找了个方法,亲测通过,如下: universalim ...
- Caused by: java.security.cert.CertPathValidatorException: timestamp check failed
客户端在连接Server端https的时候出现了 以下错误, 12-27 17:52:45.976: W/System.err(10361): Caused by: java.security.cer ...
- java.security.cert.CertificateException: No name matching https证书验证不通过
1.报错信息 1 java.security.cert.CertificateException: No name matching api.weibo.com found; nested excep ...
- sqlserver 项目中连接失败,驱动程序无法通过使用安全套接字层(SSL) 与 java.security.cert.CertificateException
问题一:驱动程序无法通过使用安全套接字层(SSL) 注意: 有两个 jre 文件夹,一个是 jdk内包含的,一个是 单独的 jre 解决办法:把jdk下面的\jre\lib\security下面的ja ...
- java.security.cert.CertificateException: No name matching IP found
java.security.cert.CertificateException: No name matching localhost found 解释:安全证书异常,IP地址找不到 解决方案如下:程 ...
- CAS部署错误3:java.security.cert.CertificateException: No name match
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching casse ...
最新文章
- php人员权限管理(RBAC)
- 最不安全的网络管理员大盘点
- 今晚直播 | 清华大学​高天宇:对比学习及其在NLP中的应用
- 443显示正常服务器错误,wordpress 出现443 NOT FOUND-apache错误的解决方案
- 虚幻4属性系统(反射)翻译
- mysql创建表设置数值范围,MySQL创建数据表时设定引擎MyISAM/InnoDB操作
- ecshop修改后台登陆密码
- Response JSON数据返回
- C++调用 Json解析与处理库
- linux系统编程 -- 编程入门
- 数据库SQL语句学习
- 游戏服务器更新文件,如何配置网吧游戏更新服务器
- 用 Python 创建属于自己的网易云音乐
- 蓝旭前端预习5之DOM(文档对象模型)
- windows 若依部署
- 《机器学习实战》—— 决策树
- EfficientDet-BiFPN
- For Developer-友盟+官网体验升级的打开方式
- 雅思听力数字日期归纳总结
- Springboot集成第三方登录(facebook,linkedin,github)
热门文章
- DHCP agent服务状态XXX
- 一个用interproscan做基因注释的简易教程
- 5秒解决:VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色,然后再运行 VMware Workstation。
- [问题解决] socket 10053
- 13. 模板匹配-cv2.matchTemplate()、cv2.minMaxLoc()
- html开发android,使用HTML5开发Android本地应用(一)
- in-place运算总结
- 一个有意思的小故事,希望以后也有这种修养,也能这样厚道
- transitive dependencies (if any) will not be available, enable debug logging for more details
- burpsuite破解webshell密码+国内黑阔shell密码收集