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();
相关推荐
阿珊和她的猫1 小时前
HTTP 状态码 304:未修改(Not Modified)的深度解析
网络协议·http·状态模式
jinxinyuuuus3 小时前
局域网文件传输:P2P架构中NAT穿透、打洞与数据安全协议
网络协议·架构·p2p
许泽宇的技术分享4 小时前
当AI Agent遇上.NET:微软Agent Framework的架构奥秘与实战启示
人工智能·microsoft·.net
chuxinweihui5 小时前
应用层协议 HTTP
linux·服务器·网络·网络协议·http
chuxinweihui5 小时前
HTTP cookie 与 session
网络·网络协议·http
RocketJ5 小时前
TCP、Telepathy 和 HTTP 三者关系
网络协议·tcp/ip·http
默恋~微凉5 小时前
Shell(九)——HTTP与HTTPS协议
网络协议·http·https
fei_sun5 小时前
【复习】计网每日一题1121大题--HTTP/1.0、HTTP/1.1、持续连接、非持续连接、并行连接、Web、JPEG图像
网络·网络协议·http
Yan-英杰5 小时前
解决方案: CondaHTTPError: HTTP 000 CONNECTION FAILED for url
网络·网络协议·http
提笔了无痕5 小时前
图解HTTP、HTTP知识大全
网络·网络协议·http