javax.net.ssl.SSLHandshakeException: Chain validation failed

异常描述:

shell 复制代码
D/OkHttp: <-- HTTP FAILED: javax.net.ssl.SSLHandshakeException: Chain validation failed
com.bfmd.okhttpsample I/Main: error: Chain validation failed

异常解决:

解决方法一:

解决方法很简单,检查一下设备系统时间是否在证书有效期内,若没有就改到有效期即可(一般系统时间调整为跟网络一致)。

解决方法二:跳过https验证机制

缺点是信任任何网址,无论是否有证书或者在证书有效期内,可以按需修改为信任指定网址

java 复制代码
	//自定义SS验证相关类
	private static class TrustAllCerts 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];
        }
    }

    private static class TrustAllHostnameVerifier implements HostnameVerifier {
        @Override
        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    }

    private static SSLSocketFactory createSSLSocketFactory() {
        SSLSocketFactory ssfFactory = null;
        try {
            SSLContext sc = SSLContext.getInstance("TLS");
            sc.init(null, new TrustManager[]{new TrustAllCerts()}, new SecureRandom());
            ssfFactory = sc.getSocketFactory();
        } catch (Exception e) {
        }
        return ssfFactory;
    }

设置属性

java 复制代码
    okBuilder.sslSocketFactory(createSSLSocketFactory());
    okBuilder.hostnameVerifier(new TrustAllHostnameVerifier());
    return okBuilder.build();
相关推荐
量子物理学30 分钟前
c# 工业自动化运动控制,雷赛、高川、固高、正运动对比
.net·自动化运动控制
特长腿特长2 小时前
IP Tunneling 基础案例错误日志
网络·网络协议·tcp/ip
IPDEEP全球代理3 小时前
美国纽约IP和普通美国IP有什么区别?
网络·网络协议·tcp/ip
中科三方4 小时前
SSL证书、域名与IP地址:三者关系全面解析与常见误区澄清
网络·tcp/ip·ssl
上海合宙LuatOS4 小时前
LuatOS扩展库API——【httpplus】HTTP客户端
网络·物联网·网络协议·http·lua·luatos
唐青枫5 小时前
C#.NET Task 与 async await 深入解析:底层原理、执行流程与实战误区
c#·.net
胡志辉5 小时前
网络七层到底怎么落到一次前端请求上:从浏览器到网卡,再到远端服务器
前端·网络协议
公子小六5 小时前
基于.NET的Windows窗体编程之WinForms数据表格
windows·c#·.net·winforms
Johnstons5 小时前
TCP重传率飙升怎么查?一次生产环境排障的完整复盘
网络·网络协议·tcp/ip
IpdataCloud5 小时前
如何将IP查询API集成到网站或应用中?主流方案与选型对比
网络·网络协议·tcp/ip