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.相关推荐

  1. Android手机访问正规https网站,第一次请求报Trust anchor for certification path not found,之后又可以正常访问的问题排查。

    今天在访问一个正规https网站的时候发现第一次请求报错: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValida ...

  2. 支付宝小程序 Trust anchor for certification path not found.

    支付宝IOT小程序,做httpsy请求报错: 我用的容器是jetty9; 支付宝IOT小程序提示的错误:java.security.cert.CertPathValidatorException: T ...

  3. Android客户端访问https出现问题(Trust anchor for certification path not found)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 遇到问题 一.问题分析 二.问题解决 总结 遇到问题 安卓客户端在调用https接口出现java.security.cert ...

  4. imageloader 的 java.security.cert.CertPathValidatorException

    最近使用imageloader 发现ssl问题 (java.security.cert.CertPathValidatorException) 网上找了个方法,亲测通过,如下: universalim ...

  5. 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 ...

  6. java.security.cert.CertificateException: No name matching https证书验证不通过

    1.报错信息 1 java.security.cert.CertificateException: No name matching api.weibo.com found; nested excep ...

  7. sqlserver 项目中连接失败,驱动程序无法通过使用安全套接字层(SSL) 与 java.security.cert.CertificateException

    问题一:驱动程序无法通过使用安全套接字层(SSL) 注意: 有两个 jre 文件夹,一个是 jdk内包含的,一个是 单独的 jre 解决办法:把jdk下面的\jre\lib\security下面的ja ...

  8. java.security.cert.CertificateException: No name matching IP found

    java.security.cert.CertificateException: No name matching localhost found 解释:安全证书异常,IP地址找不到 解决方案如下:程 ...

  9. CAS部署错误3:java.security.cert.CertificateException: No name match

    javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching casse ...

最新文章

  1. php人员权限管理(RBAC)
  2. 最不安全的网络管理员大盘点
  3. 今晚直播 | 清华大学​高天宇:对比学习及其在NLP中的应用
  4. 443显示正常服务器错误,wordpress 出现443 NOT FOUND-apache错误的解决方案
  5. 虚幻4属性系统(反射)翻译
  6. mysql创建表设置数值范围,MySQL创建数据表时设定引擎MyISAM/InnoDB操作
  7. ecshop修改后台登陆密码
  8. Response JSON数据返回
  9. C++调用 Json解析与处理库
  10. linux系统编程 -- 编程入门
  11. 数据库SQL语句学习
  12. 游戏服务器更新文件,如何配置网吧游戏更新服务器
  13. 用 Python 创建属于自己的网易云音乐
  14. 蓝旭前端预习5之DOM(文档对象模型)
  15. windows 若依部署
  16. 《机器学习实战》—— 决策树
  17. EfficientDet-BiFPN
  18. For Developer-友盟+官网体验升级的打开方式
  19. 雅思听力数字日期归纳总结
  20. Springboot集成第三方登录(facebook,linkedin,github)

热门文章

  1. DHCP agent服务状态XXX
  2. 一个用interproscan做基因注释的简易教程
  3. 5秒解决:VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色,然后再运行 VMware Workstation。
  4. [问题解决] socket 10053
  5. 13. 模板匹配-cv2.matchTemplate()、cv2.minMaxLoc()
  6. html开发android,使用HTML5开发Android本地应用(一)
  7. in-place运算总结
  8. 一个有意思的小故事,希望以后也有这种修养,也能这样厚道
  9. transitive dependencies (if any) will not be available, enable debug logging for more details
  10. burpsuite破解webshell密码+国内黑阔shell密码收集