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();
相关推荐
python资深爱好者5 小时前
VB.NET中如何利用LINQ to SQL进行数据库操作
数据库·.net·linq
小白5 小时前
.NET 6.0 WebAPI 使用JWT生成Token的验证授权
.net
Net开发-孔明6 小时前
.Net Web项目中,实现轻量级本地事件总线 框架
.net·事件总线
Crazy Struggle6 小时前
.NET 开源高性能 MQTT 类库
mqtt·网络协议·.net·mqttnet·物联网平台
Ustinian_3106 小时前
【OpenSSL】OpenSSL 教程
linux·网络·ssl
Tracy-228 小时前
局域网广域网,IP地址和端口号,TCP/IP 4层协议,协议的封装和分用
服务器·网络·网络协议·tcp/ip·操作系统
wys23388 小时前
利用香港多IP服务器建站蜘蛛池执行SEO策略的实践
服务器·网络协议·tcp/ip
妙妙屋(zy)9 小时前
弹幕树洞项目功能新增篇
c#·.net
ZxsLoves12 小时前
【【通信协议之UDP协议】】
网络·网络协议·udp
Beginner_bml12 小时前
TCP编程:从入门到实践
网络·网络协议