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();
相关推荐
巨擎网络2 小时前
为什么打开 App,消息才一股脑涌进来?
网络协议·app
福兮说7 小时前
IP 地址转整数的七个坑:192.168.1.1 算出负数、127.1 也是合法地址、存进 INT 直接溢出
javascript·网络·网络协议·tcp/ip·mysql·golang
0+1119 小时前
Linux --应用层协议HTTP
网络·网络协议·http
CSharp精选营12 小时前
IIS 后面挂 Kestrel,这 3 个配置错了就 502
kestrel·.net·iis配置
鑫 源12 小时前
C#源码开源, 获取macOS 电池数据,包括iOS (xamarin开发)
c#·.net·xamarin
网络小江20 小时前
组网第十课:编码、速率与排障——从比特到信号的最后一公里
网络协议
网络小江20 小时前
上网第四十三课:路由原理——数据包是怎么找到路的
网络协议
91刘仁德1 天前
IP协议详解:从IP协议头到网段划分、路由与NAT
linux·服务器·网络·网络协议·tcp/ip
硅基手札1 天前
【Linux内核专栏 14】网络协议栈
linux·运维·网络协议
网络小江1 天前
上网第四十二课:第六周复盘——协议篇快问快答
网络协议