Android Studio, javax.net.ssl.SSLHandshakeException: 不可接受的证书
创始人
2024-08-17 00:00:26
0次

解决javax.net.ssl.SSLHandshakeException异常的一种常见方法是禁用证书验证。这在开发和测试阶段非常有用,但在生产环境中不推荐使用。下面是一个示例代码,演示了如何禁用证书验证:

import javax.net.ssl.*;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

public class SSLUtils {

    public static void disableCertificateValidation() {
        try {
            // 创建一个信任所有证书的TrustManager
            TrustManager[] trustAllCerts = new TrustManager[] {
                new X509TrustManager() {
                    public X509Certificate[] getAcceptedIssuers() {
                        return new X509Certificate[0];
                    }

                    public void checkClientTrusted(X509Certificate[] certs, String authType) {
                    }

                    public void checkServerTrusted(X509Certificate[] certs, String authType) {
                    }
                }
            };

            // 获取SSLContext实例
            SSLContext sslContext = SSLContext.getInstance("TLS");

            // 初始化SSLContext
            sslContext.init(null, trustAllCerts, new java.security.SecureRandom());

            // 获取HttpsURLConnection的默认SSLSocketFactory
            SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();

            // 设置默认SSLSocketFactory
            HttpsURLConnection.setDefaultSSLSocketFactory(sslSocketFactory);

            // 忽略主机名验证
            HostnameVerifier allHostsValid = new HostnameVerifier() {
                public boolean verify(String hostname, SSLSession session) {
                    return true;
                }
            };

            // 设置默认HostnameVerifier
            HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用上述代码,您可以在应用程序的启动代码中调用SSLUtils.disableCertificateValidation()方法来禁用证书验证。但请注意,在生产环境中,强烈建议仔细验证服务器证书以确保安全性。

相关内容

热门资讯

据悉透视挂!战皇ai智能透视挂... 据悉透视挂!战皇ai智能透视挂方法,战皇真的有挂技法(一直发现有挂)进入游戏-大厅左侧-新手福利-激...
技术分享开挂!赖人娱乐ai智能... 技术分享开挂!赖人娱乐ai智能开挂app,赖人娱乐透视神器手册(一贯有挂技术)1、金币登录送、破产送...
重大发现辅助挂!精卫大厅ai智... 重大发现辅助挂!精卫大厅ai智能辅助挂攻略,精卫大厅怎么开挂大纲(一直有挂解密)1、精卫大厅破解器简...
一分钟揭秘透视!蜜蜂大厅ai智... 一分钟揭秘透视!蜜蜂大厅ai智能透视攻略,蜜蜂大厅开挂技巧妙计(原来有挂技术)1、上手简单,内置详细...
玩家实测透视!新海狮大厅ai智... 玩家实测透视!新海狮大厅ai智能透视教程,新海狮大厅有挂透视吗模板(果然发现有挂)1、每一步都需要思...
必备攻略开挂!欢乐达人葫芦鱼三... 必备攻略开挂!欢乐达人葫芦鱼三骰ai智能开挂插件,欢乐达人葫芦鱼三骰有挂透视吗诀窍(其实有挂解密)1...
重大科普透视!新超凡ai智能透... 重大科普透视!新超凡ai智能透视脚本,新超凡真的有挂机巧(真是有挂技术)1、不需要AI权限,帮助你快...
细节揭秘,德扑之星辅助器购买,... 细节揭秘,德扑之星辅助器购买,aapoker有挂么课程(先前是有透视挂)主打本地运行的 AI 黑科技...
重磅来袭,wpk到底有没有辅助... 重磅来袭,wpk到底有没有辅助挂,wpk开挂破解法子(一贯存在有透视)是一款可以让一直输的玩家,快速...
重大消息,WePoker透视怎... 重大消息,WePoker透视怎么用安全,aapoker开挂脚本资料(从来有透视挂)是一款可以让一直输...